Protocol : 프로토콜은 컴퓨터 사이에 데이터교환방식을 정의한 규칙
기기간 통신은 교환되는 데이터형식에대해 상호합의를 요구하고 이런형식을 정의하는 규칙을 집할을 프로토콜이라한다.
미국의 국방부에서 1970년에 네트워크 연결을 시작하였다.
0,1의 전기신호로 데이터를 전송하는것을 통신이라한다.
연결장비를 이용해서 여러대의 컴퓨터를 연결한다.
여러대가 연결되어있는경우 고유한 주소를 알아야한다.
Mac 주소(하드웨어마다 할당되는 고유한 디바이스값) / Frame 이 등장한다.
기기 고유 주소로 통신 = Mac Address 라 한다.
mac Address는 06:2e:03:91:1f:dd 는 몇비트인가? -> 16진수 -> 2^4 -> 06: 2^8 비트라서 6덩어리니 48비트 주소체계를 갖고있다.
ip 가 32비트 주소체계
허브,스위치,공유기 ( ios는 안물어봄)
주소체계이상해져서 나온게 ip 로 주소라고 생각!
중계지점이있는게 라우터라한다. 각라우터는 ip값이 테이블로 관리되어있고 테이블따라 최단거리 알고리즘으로 도착한다.
참고로 국가간의 라우터연결은 해저케이블로 연결되어있다.
ip는 알고있으니 TCP/UDP 는 배송방법을 의미 . (TCP/UDP 질문이 많이나옴)
TCP는 가상회선방식으로 경로를 만들고 작은 패킷으로 송신호스트에서 수신호스트로 보낸다.
TCP는 혼잡제어와 흐름제어로 각패킷이 순서대로 도착하게 보장해주고 가상회선으로 하나의 회선으로 순차적으로 전송된다.
만약 중간에 유실되면 패킷이 송신호스트에 재요청해서 다시 받아온다.
즉, 패킷순서보장, 패킷유실시 재요청으로 다시받아오는 구조이고 가상회선을 통해 하나의 일관된 경로로 데이터가 전송이된다.
기술적표현은 TCP는 연결지향성이고 흐름제어,혼잡제어가되며 높은 데이터 신뢰성을 보장하는 프로토콜이다. UDP보다 제어장치들떄매 속도가 느리지만 높은데이터신뢰성을 갖고있다.
패킷넘버가 적혀있는데 수신호스트가 와야될순서대로안오면 유실됫다고 생각하고 송신호스트는 재요청을 한다.
왜 연결지향성인가요?
TCP는 기본적으로 소켓통신을 하는데요. 송신,수신호스트가 연결유지를위해 데이터 주고받기전 3 way handshake를 통해 소켓통신이 열리고 데이터통신이 시작된다.
3 way handshake
syn: 연결, ack: 검증
TCP를 닫을때는 4 way handshake를 통해 연결을 닫는다. ( 4way handshake는 잘안물어봐 )
UDP는 가상회선 없고 흐름제어,혼잡제어 되지않아 데이터 유실되도 재요청안하고 순서도 뒤죽박죽으로 옵니다.
그래서 비연결형 프로토콜이라고 부르고 데이터 패킷 순서 보장안되고 흐름제어,혼잡제어 되지않아 데이터 유실되도 재요청안한다.
대신 흐름제어,혼잡제어가 없어서 TCP보다 빠르고 데이터를 빠르게 대용량으로 약간 유실되도 괜찮은경우 UDP사용합니다.
주로 스트리밍 서비스나 게임쪽에서 많이 사용하는거로 알고있습니다. 예를들면 스타크래프트 UDP 에서 게임을하면 공격같은게 유실되는경우도 과거엔있었다. 최근엔 성능이 좋아져서 그런일이 발생안한다고 알고있습니다.
스트리밍은 UDP 사용해도 괜찮은이유?
패킷 하나의 사이즈가 매우작기떄문에 유실된다해도 끊기지도 않는다고 알고있습니다. ( 유실되면UDP자체에서는 해결이안되서 개발자가직접 알고리즘을 짜줘야한다고 알고있습니다.)
UDP는 수신호스트를 각 패킷이 전송되는 프로토콜.
OSI 7 layer
컴퓨터 여러개 연결시 mac 주소 필요하고 frame이라는 개념이 필요한데
frame이라는 형태로 데이터를 주고받는다. OSI 7 layer 에서 2번레이어
주소가 필요해 ip가 필요하고 OSI 7 layer에서 3번레이어
어떻게 배송할지 정하는 TCP/UDP 가 OSI 7 layer에서 4번레이어
물리 계층: 케이블 연결자체를 의미한다.
데이터 링크 계층: mac 주소를 활용해 특정주소 체크해 통신
네트워크 계층: IP 가 속해있는 레이어
전송 계층: 어떻게 전송할지 TCP/UDP가 속해있는 레이어
5,6,7계층은 요새 나누지않고 애플리케이션 계층으로 해서 HTTP프로토콜, DNS 같은것이 속해있는 레이어
Lan과 Wan의 차이
다이렉트로 연결된 네트워크를 로컬네트워크라 하고 Lan이라고도 부른다.
특정한 작은 네트워크를 연결하는것을 Lan 케이블이라하고 근거리 통신망이라한다.
Lan들이 국가간에 연결되면 Wan이라 한다.
공인 IP VS 사설 IP
ip는 32비트 체계를 갖고 43억개의 제약이 생긴다.
그래서 43억개를 넘게되면 문제가생기니 나온개념이 NAT이다.
Network address Translation: 사설 ip로 네트워크 통신시 공유기(=게이트웨이,179.22~, ex) KT, SK, 회사자체공유기) 거치면 네트워크 주소를 바꿔서 준다. 반대로 데이터를 받을떄도 공유기 거쳐서 받는다. ( 공유기 역할을 하는것을 게이트웨이라 한다. 게이트웨이 주소가 있다. , 로컬네트워크에서 다른 네트워크로 나가는 관문이라해서 게이트웨이라 부른다. )
사설 Ip: 내가 속해있는 네트워크 안에서만 사용하는것이 사설ip 라한다.
구글에서 ip를 찾아보면 공인 ip가 나오고 이를통해 접속한것이다.
공유기는 Nat기능, 여러포트들이 인터넷 사용가능하게 네트워크를 구분해주는 Switch기능이있다.
VPN( virtual private network) : 다른 네트워크 컴퓨터에서 다른 게이트웨이로 접속하게 해주는것
회사의 인트라넷 (사내에서만 접속되는 사이트) 를 VPN로 접속하면 집에서도 접속이 가능하다.
'𝗡𝗘𝗧𝗪𝐎𝗥𝗞' 카테고리의 다른 글
네트워크 요청응답의 기본개념 (1) | 2023.12.15 |
---|---|
네트워크 빈출 키워드 (0) | 2023.02.21 |
HTTP 란? (0) | 2023.02.21 |