현대 컴퓨터 통신방법
패킷 교환방식: 주고받는 정보를 ‘패킷’이라하고 작은 소포로 나누어 전송
한 컴퓨터가 한번에 여러 패킷 수신 (게임 쪼금 이메일 쪼끔 이런 식으로)
패킷구조: Header, Body
Body에 패킷이 저장됨
네트워크 프로토콜이란?
컴퓨터 네트워크에서 패킷생성/전송/해석/처리 관련 규칙과 규약집합
Ex) UDP 프로토콜, SMTP프로포톨
게임 같은 경우는 대부분 UDP 프로토콜 씀
메일 같은 경우는 대부분 SMTP프로토콜 씀
게임할 때 정보를 UDP 프로토콜로 보내면 정보 받아서 해석하는 입장에서도 UDP프로토콜로 해석해야함
0101의 조합이지만 SMTP의 프로토콜로 이 정보를 이해하기 때문에 이건 이메일의 정보구나 컴퓨터가 이해할 수 있다. 그래서 패킷들을 조합해서 그래서 이메일의 문장이 탄생한다.
중요한 것만 추림
해더에 4개 정도 헤더 있음
패킷의 헤더에 목적지를 알 수 있다.
Mac Address: 네트워크 이용하는 장비의
고유식별자 (= 주소)
IP Address: 모든인터넷과 로컬 네트워크에서 장치들의 식별자 (= 주소)
이 두개가 패킷 목적지 주소다.
패킷 메타정보 ‘포트 번호’ 알아보기
Port: 네트워크 포트는 네트워크 장치 데이터 주고 받는 통로 => 특정 프로세스와 통신하는 데 사용하는 번호이다.
한 컴퓨터는 1 ~ 65535 포트 존재
패킷에는 여러 프로토콜이 있다
타임머신
소켓프로그래밍을 하면
IP주소 + port + HTTP 프로토콜 생성 이 3개 있어야 포트 열 수 있단다
계층형 protocol과 Tcp/Ip 4계층 모델
윗쪽으로 갈수록 사용자(=개발자)에 가까운
아래쪽으로 갈수록 기계에 가까운
4계층이 트렌드다. (7계층은 한물감)
Application Layer
Transport Layer
Internet Layer
Network Interface
Network Interface :
제일 마지막 protocol은 정보가 lan선으로 바로가거나 무선으로 바로가잖아 그 프로토콜은 두개중에 하나다.
Ex) 와이파이 프로토콜, 랜선 프로토콜
Internet Layer:
IP 4버전이 있고 6버전이 있는데 어떤 버전이냐 저장하는 것이 인터넷 레이어의 프로토콜이다.
Transport Layer:
어떻게 데이터를 전달할 것인지 결정하는 프로토콜이고 TCP, UDP라는 선택지가 있다.
Application Layer:
데이터를 어떻게 해석할건지 HTTP나 FTP같은 우리에게 익숙한 프로토콜이 있단다
우리는 header들을 추가할 수가 없다 백엔드 정도는 네트워크개발자라면 모를까
Application Layer의 http 이거 정도만 건들 수 있다.
상위 layer의 프로토콜 정하게되면 하위프로토콜 자동으로 결정되게됨
Application Layer가 상위임
HTTP라는 프로토콜은 TCP프로토콜 위에 있다.
그래서 HTTP설정하면 TCP가 하위니까 그것도 자동으로 결정됨
상위layer에서 하위layer로 가면서 프로토콜이 하나하나씩 붙는다.