23.08.31
- 이직 후 첫 개시글 작성
- 보안 솔루션 파트 담당을 맡게되어 네트워크의 기초 공부의 필요성
- 기본적 데이터 단위 부터 정리 예정
- 먼저 OSI 7 Layer를 간략히 3개의 mode로 구분(User - 7,6,5 / Kernel - 4,3 / H.W - 2,1) User(Application), Kernel(TCP/IP) , H/W(NIC - Network Interface Card - LAN 카드)
- 패킷(Packet) - 데이터의 단위(가장 기본적 데이터 단위)
- User 모드에서는 Socket 단위 사용
- 소켓(Socket) - 커널 모드를 추상화한 Interface는 File 단위로 존재(유저 모드에서 커널 모드로 접근하기 위한 인터페이스 스) --> 이것을 소켓이라고 부름
- File의 경우 Stream의 형태. 시작은 존재하나 길이를 알 수 없는 일렬형태로 쭉 늘어진 데이터를 의미(일레로 문서의 경우 글을 작성 하면 할수록 파일의 크기가 커진다는 것을 알 수 있음)
- Kernel 모드(TCP와 IP로 구분) TCP의 단위 - Segment / IP 단위 - Packet
- User 모드에서 Application Process가 File에 Stream 데이터를 Write 하면, Kernel 모드의 TCP를 만나 Stream 데이터가 Sgement 형태로 분해(분할/자르기)가 일어남. 이를 Segmentation. 이 것의 단위는 MSS(Maximum Segment Size). 이 크기는 패킷의 크기에 의해 좌우
- 마찬가지로 IP로 내려오게되면 Segment에서 Packet으로 분할이 일어남. Packet은 MTU(Maximum Transfer Unit - 1,500 byte)
- H/W 모드에서는 Frame의 단위가 사용되는데 이를(인캡슐레이션)
- 네트워크 : 애플리케이션에 맞는 통신 방법 제공 / 신뢰할 수 있는 데이터 전송 제공 / 네트워크 간의 최적 통신 경로 제공 / 목적지로 데이터 전송 등등 다양한 방식으로 구현 및 제공
- 그러나 하나의 프로토콜로 이 모든 것을 구현 불가능(다양한 프로토콜 - 통신규약이 존재)
- Port / IP / MAC의 차이
- Port : User Mode(프로세스 식별자) / Kernel Mode(서비스 식별자) / H.W Mode(인터페이스 식별자) - 번호는 2의 16승(0 ~ 65535 / 그러나 0과 65535는 사용하지 않음 / 0 ~ 1023 까지는 예약번호 - 21(FTP) 25(SMTP), 80(HTTP) 등 )
- IP : 호스트식별. 호스트(네트워크에 연결된 컴퓨터)에 NIC1개당 N개로 바인딩
- MAC : NIC(Network Interface Card - LAN 카드, 유무선 포함) 식별. MAC는 하드웨어 주소(변경가능!)
- Ex) User Mode에서 엣지와 크롬이라는 Process를 사용한다고 가정할 때, 각각 소켓을 사용, 이때 해당 소켓에는 각기 다른 포트 번호(30000, 30001)가 배정. 즉 User Mode에서 Port 번호는 프로세스의 식별자로 인식 됨!
- 패킷은 인터넷에 들어오면 NIC -> IP -> TCP -> Process로 순서로 전송. TCP에서 어떤 프로세스로 들어갈지가 결정되는데 그 결정을 하는 키 값이 Port 번호인 것
4) 방화벽 (0) | 2023.09.11 |
---|---|
3) TCP/IP (0) | 2023.09.05 |
2) 네트워크 인터넷 개념 및 동작 원리 (0) | 2023.09.04 |
댓글 영역