이전 포스팅에선 TCP/IP 4계층과 OSI 7계층에 대해서 알아보았습니다.
https://steady-snb.tistory.com/25
위의 프로토콜들이 실제로 어떻게 통신하는지 알아봅시다.
위의 그림에서 말하는 헤더는 데이터의 앞 부분에 위치하는 데이터 전송에 필요한 정보를 뜻합니다.
통신과정
1. 송신측 클라이언트 애플리케이션 계층에서 어느 웹 페이지를 보고싶다 라는 HTTP 요청을 지시한다.
2. 그 다음에 있는 트랜스포트 계층에서는 애플리케이션 계층에서 받은 데이터(HTTP메시지)를 통신하기 쉽게
조각내어(패킷단위) 안내번호와 포트번호(TCP패킷)를 붙혀 네트워크 계층에 전달한다.
3. 네트워크 계층에서 데이터에 IP 패킷을 추가해서 링크 계층에 전달한다.
4. 링크 계층에서는 수신지 MAC주소(물리적주소)와 이더넷 프레임을 추가한다.
5. 이로써 네트워크를 통해 송신할 준비가 되었다.
6. 수신측 서버는 링크 계층에서 데이터를 받아들여 순서대로 위의 계층에 전달하여 애플리케이션 계층까지 도달한다.
7. 수신측 애플리케이션 계층에 도달하게 되면 클라이언트가 발신했던 HTTP 리퀘스트를 수신할 수 있다.
ex) 네이버 접속 시나리오
1. 웹 브라우저에 www.naver.com 입력
2. DNS로 네이버 서버 IP에 주소 할당
3. 응용계층(L4)에서 메시지 데이터 패킹(HTTP 메시지)
4. 전송계층(L3)에서 PORT정보(송신지, 수신지), 전송제어 정보, 순서 정보, 검증 정보 패킹(TCP)
5. 인터넷 계층(L2)에서 IP정보(송신지, 수신지) 패킹
6. 네트워크 엑세스(L1) 계층에서 MAC주소 패킹
7. 게이트웨이를 통해 인터넷망 접속
8. 라우터를 통해 목적지(네이버 서버)를 찾아 연결
9. 네이터 서버에 도착하면 패킷을 하나 하나 까면서 목적 포트에 메세지 데이터를 전달하여 다시 응답
캡슐화(Encapsulation)
- 송신 측에서 응용 계층부터 순서대로 각 계층에서 데이터에 헤더를 추가하고 아래 계층으로 보내는 과정
역캡슐화(Decapsulation)
- 수신 측에서 물리 계층부터 순서대로 데이터의 헤더를 제거하고 위 계층으로 전달하는 과정
캡슐화와 역캡슐화의 필요성
- 독립성 유지 : 다른 모듈에 미치는 영향을 최소화- 계층별 기능 수행 : 목적에 부합하는 기능만 수행- 호환성 유지 : 네트워크 동일 계층 간 호환성 유지
'IT지식 > Computer Science' 카테고리의 다른 글
애플리케이션 계층(HTTP, SSH, FTP, SMTP 등)에 대해 알아보자 (0) | 2025.01.07 |
---|---|
SSH(Secure Shell)이란? (0) | 2025.01.07 |
TCP/IP 4계층? OSI 7계층? 이 도대체 뭘까 (0) | 2025.01.06 |
IP, TCP, UDP란 무엇인가? (0) | 2025.01.06 |
네트워크 연결방식 (LAN, MAN, WAN) (0) | 2025.01.02 |