eliwook 님의 블로그
네트워크 OSI 7Layer TCP/IP 4 Layer 본문
OSI 7 layer
7. 응용 계층 (Application Layer)
- 네트워크 자원에 사용자가 접근하는 방법을 제공하는 계층
- 최종적으로 사용자가 볼 수 있는 유일한 계층, 직접적으로 사용자와 상호작용한다.
- ex) 크롬, 사파리 등 웹 브라우저, MS Office와 같은 응용 프로그램
- 프로토콜: HTTP, Telnet, DHCP, DNS, FTP
6. 표현 계층 (Presentation Layer)
- 데이터의 변환 작업(인코딩, 디코딩, 암호화)을 하는 계층
- 응용 계층의 데이터 표현에서 독립적인 부분을 나타낸다.
- 프로토콜: ASCII, MPEG, JPEG, EBCDIC
5. 세션 계층 (Session Layer)
- 응용 프로그램 간의 연결을 지원하는 계층
- 사용자와 서버 간에 대화가 필요하면 세션을 만드는 작업을 처리한다.
- 운영체제에 의해 세션 설정, 유지, 종료, 전송 중단시 복구 등을 할 수 있다.
- 프로토콜: SSH, TLS
4. 전송 계층 (Transport Layer)
- 서비스를 구분하고 데이터의 전송 방식을 담당하는 계층
- 포트(Port)번호를 사용하여 최종 도착지인 프로세스까지 데이터가 도달하게 한다.
- 보낼 데이터의 용량, 속도, 목적지 등을 처리한다.
- 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고 받을 수 있게 해 주어, 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 한다.
- 프로토콜: TCP, UDP, ARP
3. 네트워크 계층 (Network Layer)
- 서로 다른 두 네트워크 간의 데이터 전송을 담당한다.
- 데이터에 논리적 주소인 IP 주소를 부여하고 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능(라우팅)을 한다.
- 데이터를 연결된 다른 네트워크로 전달함으로써 인터넷이 가능하게 만드는 계층이다.
- 프로토콜: IP, ICMP, IGMP
2. 데이터 링크 계층 (Data Link Layer)
- 컴퓨터와 컴퓨터간 신뢰성있는 전송을 보장하기 위한 계층
- 물리 계층을 통해 송수신되는 정보의 오류를 검출하고 흐름을 관리한다.
- 데이터에 컴퓨터의 물리적 주소인 MAC 주소를 부여해서 출처를 알 수 있게한다.
- 동일한 네트워크 내에서의 데이터 전송을 담당한다.(Ethernet)
- 프로토콜: MAC, PPP, HDLC, etc...
1. 물리 계층 (Physical Layer)
- 네트워크의 하드웨어 전송 기술로 구성
- 전기적, 기계적, 기능적인 특성을 이용하여 통신 케이블로 데이터를 전송한다.
- 단지 데이터를 전달만 한다.
- 프로토콜: Ethernet, RS-232C
TCP/IP 4 layer
1계층 - 네트워크 인터페이스 계층
[데이터 단위 : 프레임]
물리적인 데이터 전송을 담당한다.
논리주소가 아닌 물리주소(MAC)를 참조해 장비간 데이터를 전송한다.
Ex. Ethernet, PPP, Token Ring
2계층 - 인터넷 계층
[데이터 단위 : 패킷]
통신 노드 간의 IP 패킷 전송 및 라우팅을 담당하여 서로 다른 네트워크 간의 통신을 가능하게 한다.
최종 목적지까지 정확하게 연결되도록 연결성을 제공한다.
Ex. IP, ICMP
3계층 - 전송 계층
[데이터 단위 : 세그먼트]
통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다.
Ex. TCP, UDP
4계층 - 어플리케이션(응용) 계층
[데이터 단위 : 데이터/메시지]
사용자와 가장 가까운 계층으로 사용자와 어플리케이션이 소통할 수 있게 한다.
TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다.
Ex. HTTP, FTP, DNS, 파일 전송, 이메일
OSI 7 Layer 와 TCP/IP 4layer의 구조

등장 배경에 대한 이야기
1960년대 말 미 국방부 산하 ARPA 라는 곳에서 시작이 되었다. 결국은 통하라 통하라 통신은 통하라.. 전쟁에서 가장 중요한 것이 통신 수단이다. 당시 핵무기에 대한 위험성이 높아졌고 핵공격을 받을 시 기반 시설들이 파괴되어 통신 수단의 구축이 어렵다는 이야기가 대두되었습니다. 그래서 분산된 네트워크를 가지고 핵 전쟁 상황에서도 통신을 유지할 수 있는 방안을 찾기 시작함.
그래서 등장한게 ARPANET!
1960년대 말, 미국에서는 큰 꿈을 가진 과학자들이 모였습니다. 그들은 "컴퓨터들이 서로 이야기를 나눌 수 있게 하자!"라는 대담한 목표를 세웠죠. 이렇게 해서 ARPANET이라는 첫 번째 컴퓨터 네트워크가 탄생했습니다.
ARPANET은 처음에 네 대의 컴퓨터로 시작했어요. 이 컴퓨터들은 서로 다른 대학에 있었지만, 마법 같은 '패킷 교환' 기술 덕분에 대화를 나눌 수 있었습니다. 패킷은 편지를 여러 조각으로 나눠 보내는 것과 비슷했죠. 각 조각이 가장 빠른 길을 찾아 목적지로 갔답니다.
ARPANET은 점점 커져갔고, 더 많은 컴퓨터들이 이 새로운 놀이터에 합류했습니다. 하지만 문제가 생겼어요. 어떤 컴퓨터는 전화선으로, 어떤 컴퓨터는 무선으로, 또 어떤 컴퓨터는 위성으로 대화하고 싶어 했거든요. 마치 영어, 프랑스어, 중국어를 쓰는 사람들이 한 자리에 모인 것 같았죠.
"이렇게는 안 되겠어!" 빈트 서프와 밥 칸이라는 두 영웅이 나섰습니다. 그들은 1973년부터 모든 컴퓨터가 이해할 수 있는 새로운 언어를 만들기 시작했어요. "우리가 통역사를 만들어줄게!"라고 말하며 열심히 연구했죠.
몇 년 후, 그들은 드디어 TCP/IP라는 멋진 통역사를 만들어냈습니다. TCP/IP는 정말 대단했어요. 유선이든 무선이든, 위성이든 상관없이 모든 컴퓨터가 서로 이야기할 수 있게 해주었거든요.
1983년, ARPANET은 큰 결심을 했습니다. "이제부터 우리 모두 TCP/IP로 이야기하자!"라고 선언한 거예요. 이날부터 컴퓨터들은 전 세계 어디에 있든 서로 쉽게 대화할 수 있게 되었답니다.
TCP/IP는 마치 만능 번역기 같았어요. 큰 네트워크든 작은 네트워크든 상관없이 모두를 연결해주었죠. 덕분에 네트워크는 눈덩이처럼 커져갔고, 우리가 지금 사용하는 인터넷으로 발전했답니다.
ARPANET은 1990년에 은퇴했지만, 그것이 시작한 대모험은 TCP/IP와 함께 계속되고 있어요. 지금 우리가 스마트폰으로 전 세계 사람들과 쉽게 대화할 수 있는 것도 모두 이 위대한 모험 덕분이랍니다.
이렇게 ARPANET에서 시작된 작은 꿈은 TCP/IP를 거쳐 전 세계를 연결하는 거대한 인터넷으로 발전했답니다. 그리고 이 모험은 아직 끝나지 않았어요. 어떤 새로운 이야기가 펼쳐질지, 우리 모두 함께 지켜보면 좋겠죠?
'Jugle > Today I Learned' 카테고리의 다른 글
| C언어로 개발하는 socket 서버1 [echo client, server] (0) | 2024.08.19 |
|---|---|
| sockaddr, sockaddr_in 차이 (0) | 2024.08.18 |
| 쉽게 이해하는 socket통신 (0) | 2024.08.17 |
| 동적 메모리 할당 (0) | 2024.08.12 |
| R-B Tree의 삭제 (0) | 2024.08.08 |