티스토리 뷰
계층 | OSI 7 계층 | TCP/IP 4계층 (기존) | TCP/IP 4계층 (업데이트) |
7 | 응용 (Application) | 응용 (Application) | 응용 (Application) |
6 | 표현 (Presentation) | ||
5 | 세션 (Session) | ||
4 | 전송 (Transport) | 전송 (Transport) | OSI 와 동일 |
3 | 네트워크 (Network) | 인터넷 (Internet) | OSI 와 동일 |
2 | 데이터 링크 (Data Link) | 네트워크 엑세스 (Network Access) | OSI 와 동일 |
1 | 물리 (Physical) | OSI 와 동일 |
- OSI 7계층 : 이론적, 데이터 통신 시 필요한 장비나 처리 방법 등을 7단계로 표준화
- TCP/IP 4계층 : 실무적, 효율적 (현대의 인터넷은 TCP/IP 모델을 따름, 업데이트된 모델을 더 많이 사용 - 2020년 기준)
이걸 왜 알아야 할까? 어디에 쓰이길래?
OSI 7 계층은 거대한 소프트웨어 구조를 설명하는 것으로 네트워크의 흐름을 이해할 때 도움이 됨
또한, 문제 해결을 효율적으로 할 수 있음
늘 이론적으로만 봐서 어렵게만 느껴졌는데, 사실 평소에 활용하고 있었던 걸지도...
예를 들어 롤이 갑자기 안될 때..
- 다른 사람도 안되는지 확인
- 나만 안된다면 내 컴퓨터 문제를 확인
이런 식으로 정확한 계층은 모르지만 단계적으로 확인하게 되는데,
실제로 문제가 생기면, 어떤 계층 문제인지 파악하여 그에 해당하는 계층의 오류만 해결할 때 활용한다고 함
(원인 외의 장비나 SW를 건들이지 않을 수 있음, 효율성 증가)
하지만 아직 좀 더 실무적인 입장에서 어떨 때 쓰이는지는 감이 안와서 더 찾아볼 필요가 있음
1. 물리 계층 (Physical Layer)
- 통신 케이블로 데이터를 전송
- 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고 받을 수 있게 해줌
(전기적 신호를 아날로그 신호로 변환해서 전송(인코딩) → 수신 후 전기적 신호로 변환(디코딩)) - 단지 전송만 함, 데이터의 내용과 오류 등에 대해서는 신경쓰지 않고 일단 전달해버림
- 프로토콜 : RS-232C, 10BASE-T, ISDN
- 데이터 단위 : 비트
- 장비 : 리피터, 허브
2. 데이터 링크 계층 (Daya Link Layer)
- 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고 받을 수 있게 해줌
- 주요 기능
- 프레이밍 : 여러 개의 데이터를 수신했을 때 각각의 구분을 위해 데이터 시작과 끝에 특정 비트열을 추가
- 흐름 제어 : 송신 측과 수신 측의 속도 차이 해결
- 순서 제어 : 프레임의 순서적 전송 보장
- 오류 제어 : 오류의 검출과 회복 - 프로토콜 : HDLC, ADCCP, LAPB, Ethernet
- 데이터 단위 : 프레임
- 장비 : 랜카드, 브리지, 스위치
3. 네트워크 계층 (Network Layer)
- 데이터 링크 계층과 비슷하나 차이점은 같은 네트워크인지 다른 네트워크인지, 네트워크 계층은 다른 네트워크
- 주요 기능
- 패킷 정보 전송 : 발신지와 목적지의 IP 주소 + 포트 번호가 추가된 데이터(패킷)를 전송
- 경로 설정(라우팅) : 라우터를 통해 패킷을 전송(포워딩)하며 최종 목적지로 데이터를 전송
- 데이터 교환 및 중계, 트래픽 제어 - 프로토콜 : IP, IPX, IPsec, ICMP, ARP
- 데이터 단위 : 패킷
- 장비 : 라우터
4. 전송 계층 (Transport Layer)
- 네트워크 계층을 통해 데이터를 수신, 그런데 어떤 프로세스로 전달해줘야 할까
→ 데이터를 수신할 때 포트번호를 알고 있으므로 해당 포트로 전달 해주면 됨
즉, 포트 번호를 사용해 최종 도착지인 프로세스까지 데이터가 도달하게 함 - 세그멘테이션 : 큰 데이터를 세그먼트라는 작은 단위로 나눠 전송
중간에 연결이 끊어졌을 때 손실률 감소 + 데이터 더 빨리 확인 가능(ex. 유튜브 동영상) - 주요 기능
세그멘테이션 : 큰 데이터를 세그먼트라는 작은 단위로 나눠 전송
=> 중간에 연결이 끊어졌을 때 손실률 감소 + 데이터 더 빨리 확인 가능(ex. 유튜브 동영상)
흐름 제어 : 전송량이 다를 때 맞춰줌
오류 제어 : 오류 난 프레임을 버리는 데이터 링크 계층과 달리 해당 부분의 데이터를 다시 전송해줌 - 프로토콜 : TCP, UDP
- 데이터 단위 : 세그먼트
- 장비 : 게이트웨이
5. 응용 계층 (Application Layer)
1) 세션 계층 (Session Layer)
- 송, 수신 측 간의 관련성 유지, 대화 제어
- 데이터 전송 상태를 체크하는 과정에서 일정한 동기점을 두어 회복할 수 있음
(ex. 20MB마다 동기점을 둔다고 가정할 때, 100MB의 데이터를 전송하다가 25MB에서 오류가 나면
20MB부터 다시 전송 가능) - 데이터 단위 : 메시지
2) 표현 계층 (Presentation Layer)
- 인터페이스 역할 (코드 변환, 데이터 암호화, 압축, 포맷 변환 등)
- 프로토콜 : ASCII, MPEG, JPEG, MIDI
- 데이터 단위 : 메시지
3) 응용 계층 (Application Layer)
- 사용자가 네트워크에 접근할 수 있는 서비스(응용 프로그램)를 제공 (ex. 전자 사서함, 파일 전송 등)
=> 사용자가 눈으로 볼 수 있음 - 프로토콜 : HTTP, SMTP, FTP, Telnet
- 데이터 단위 : 메시지
각각 해당하는 프로토콜도 있는데 이 부분은 더 찾아보도록 하자~
참고 자료
- https://youtu.be/1pfTxp25MA8 - 우아한Tech '히히의 OSI 7 Layer'
- https://youtu.be/Fl_PSiIwtEo - 우아한Tecah '파즈의 OSI 7 Layer'
- 2022 시나공 정보처리 산업 기사 필기
- https://sean.tistory.com/22
'기초 개념' 카테고리의 다른 글
JWT(Json Web Token) (0) | 2022.05.17 |
---|---|
맨날 헷갈리는 수 체계 간단 정리.. (0) | 2022.05.14 |
TCP와 UDP (0) | 2022.05.10 |
클로저(closure)가 대체 뭐길래!! (0) | 2022.05.09 |
댓글