반응형
이 포스트는 데어 프로그래밍님의 유튜브 강의를 듣고 나서 정리한 글입니다.
OSI 7 계층과 TCP에 대해서 간략하게 이해해보는 시간을 가져보겠습니다.
OSI 7 계층
통신에는 OSI 7 계층이 있습니다.
예를 들어, 내가 어떤 게임에서 A 스킬을 쓴다고 했을 때, 해당 게임회사 서버까지의 전송을 예로 들어보겠습니다.
- Application: 해당 게임 프로그램을 의미합니다.
- Presentation: 내가 A 스킬을 쓴다는 내용을 암호화해서 보냅니다. (또는, 사진 같은 것들을 보낼 때 압축을 해서 보내기도 합니다.)
- Session: 인증 체크 (내가 보낼 수 있는지에 대한 체크 : 상대방 컴퓨터가 켜져있는지, 내가 상대방 컴퓨터에 접근을 할 수 있는지 등)
- Transport: TCP/UDP 통신 여부 결정
- Network: 상대방 IP 주소를 찾아줍니다. (WAN)
- DataLink: 해당 IP 주소를 찾아 갔지만, 데이터를 전송하려했던 컴퓨터를 찾아주는게 바로 DataLink입니다. (LAN)
- Physical: 전선, 광케이블
상대한테 전송이 되면 상대는 반대로 1계층 부터 - 7계층 순서로 데이터를 받습니다.
TCP vs UDP
TCP
TCP 통신은 내가 데이터를 보냈으면, 상대가 데이터를 잘 받았다는 의미로 ACK 신호를 보내줍니다.
그럼 나는 ACK 신호를 받고서 "데이터가 잘 갔구나" 라고 확인합니다.
만약 ACK가 안오면?
TCP 통신은 신뢰성이 있는 통신이다!
UDP
상대가 잘 받았는지 따위는 신경쓰지 않고 그냥 보내고 싶은 데이터를 보냅니다.
대신 속도가 TCP에 비해 훨씬 빠릅니다.
어느 때 사용하는가..?
- 사람이 유추하여 이해할 수 있을 때
- 주로 전화에서 사용
- 내가 상대에게 "안녕 반가워" 라고 말했는데, 중간에 유실이 되면서 "안녕 반( )워"라고 전송됐다고 가정해보자
- 그래도 상대는 대충 유추를 해서 반가워라고 인식 할 수 있을 것입니다.
- 동영상을 보낼 때, 초당 24 프레임인 동영상을 보내는데 24장의 사진중 몇장이 빠졌어도, 사람한테는 조금 버벅거릴 뿐 영상을 이해할 수 있을 것입니다.
반응형