OSI 7 Layer와 Packet생성과정에 대해 정말정말 간단히 정리한 글입니다. (저도 공부중이라...)
(많은 부분이 생략되어 있고 틀린 부분도 있을 수 있습니다.)
서론
개념적으로는 "OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말합니다"
실제로 구글링을 하면 보통 이런 이미지가 굉장히 많습니다...
무엇을 뜻하는지 조차 잘 모르겠는데 일단 단어 의미부터 보도록 하겠습니다.
Layer
일단 Layer라고 하는 것은 어떤 '층'을 말합니다.
단계적으로 발생하는 것을 계층 구조로 나눈 것인데 가령 대학교를 졸업했다는 것은 초등학교 => 중학교 => 고등학교 => 대학교 테크트리를 탓다는 것입니다.
이를 계층 구조로 나타내면 아래와 같습니다.
중학교를 다닌다는 것은 초등학교가 우선이 되기 때문에 가장 아래에 두는 것입니다.
OSI 7 Layer도 마찬가지로 네트워크 통신이 발생하는 과정을 계층 구조 Level을 붙여 L1, L2, L3 이런식으로 도식화 한것에 지나지 않습니다.
식별자
간단하게 도식화 해보자면 아래와 같습니다.
이 각 Layer 계층에는 식별자가 붙습니다.
Physical 구간 (L1~L2)에는 NIC Network Interface Card가 들어가는데 NIC의 식별자로 MAC주소가 들어갑니다.
L3구간 IP (Internet Protocol)의 식별자로는 IP주소가 들어갑니다. (IPv4, IPv6)
L4의 식별자는 Port번호입니다.
정리하면 MAC주소는 NIC에 붙어 NIC를 식별하는데 사용이 되고 IP주소는 Host를 식별하는데 사용이 됩니다.
패킷 생성까지 과정
위의 그림이 웹서버를 나타낸다고 할 때 사용자가 하나의 파일을 다운 받는다고 치겠습니다.
그러면 서버 프로세스는 HDD/SDD쪽에서 요청한 파일을 일부분 읽어와서 메모리에 담습니다.
이때의 데이터 단위는 Stream이며 시냇물 처럼 끊기지 않는다고해서 Stream입니다.(데이터를 다 읽게되면 끊깁니다)
그런 다음 Socket의 메모리 공간에 Send를 합니다.
이 Stream단위 데이터를 OS의 TCP쪽에 보내고 TCP쪽에서 이 Stream단위의 데이터를 '분해'합니다. 그래서 TCP L4의 데이터 단위가 Segment가 됩니다.
이후 한층 더 내려가 IP쪽에서 Packet이라는 데이터 단위로 전달받은 Segment데이터를 감싸고 H/W영역쪽으로 보냅니다.
이쪽에서는 다시 데이터의 단위가 Frame으로 바뀌고 LAN선이든 뭐든 타고 라우터를 거쳐 Internet으로 가게 됩니다.
수신받는쪽에서는 위의 과정을 반대로 진행합니다.
(더 복잡하고 많은 과정들이 있지만 생략하겠습니다)
도식화 하면 아래와 같습니다.
정리
OSI 7 Layer는 네트워크 과정을 계층적으로 도식화 한 것이고
Packet은 TCP로 부터 전달받은 Segment데이터 단위를 Packet이라는 데이터 단위로 감싸는 것이다.
'네트워크' 카테고리의 다른 글
[네트워크] Loopback Address란? (1) | 2024.02.29 |
---|
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!