32.통신

Jan 08, 2024
32.통신
notion image
이동과정
notion image
💡
쎄그먼트(분리):데이터를 잘게 쪼개는 것 인데 이때 헤더와 바디로 나뉘어진다. 쎄그먼트를 os에서 hw로 넘길때 패킷을 해서 보낸다. 패킷 한것을 hw에서 프레임으로 감싸고 감싼채로 다른 hw(라우터)에게 보낸다. 라우터로 들어갈때 프레임을 벋기고 (라우터 안에서는 이미 패킷인 상태에서)패킷을 안열어도 헤더(목적지 ip)는 볼 수 있다. 이것을 통해서 자기가 목적지까지 길을 찾아가는데 다른 라우터로 이동하기전에. 첫번째 라우터가 패킷을 확인하여 출발지 호스트랑 TCP통신을 하고, 다시 프레임을 씌워 다른 라우터로 이동시킨다. 프레임은 패킷을 이동하는 이동 수단 인 것이다. 이때 다른 라우터를 찾는 방법은 가장 가까운 라우터 또는 덜 바쁜 라우터로 이동하는데 이 과정을 최종 hw에게 도착 할 때까지 반복되며 도착시 패킷인 상태가 된다. os에서 올릴때 tcp통신을하고 tcp통신이 끝나며 디캡슐 레이션(패킷 벗기기)이 진행 된 후에 출발지 주소랑 헤더를 보고 출발지의 영역을 만들고 재조립을 한 후에 각 데이터를 저장한다.
프레임
notion image
 

TCP , UDP

💡
통신을 보냈을 때 응답이 무조건 있어야 된다. TCP통신(신뢰성 있는 통신) (사진 누실 되면 안됨)(HTTP,FTP,전화) 서로 간에 연결을 설정한 후에 데이터를 보내고 받는 방식이다. 예시로 전화를 하기 위해서는 먼저 전화번호를 누르고 상대방이 받으면 통화를 할 수 있다. 통화가 끝나면 연결은 종료된다. 중간에 데이터들이 잘 도착 하는지를 상대방의 응답을 통하여 확인하고 분실된 데이터가 있으면 다시 보낸다. 또한 데이터를 받는 순서가 데이터를 보내는 순서와 동일하게 관리한다. 반면 단점은 연결을 하는 과정과 연결을 해제하는 과정에 상당히 많은 시간이 걸린다 이는 짧은 데이터를 보내는 경우에는 상당한 부담이 된다.
💡
UDP통신(신뢰성 없는 통신)(사진 누실 되도 됨)(인간한테 보낼 때 (,문자 등) TCP와 달리 연결을 하지 않고 데이터를 몇 개의 고정 길이의 패킷으로 분할한 다음, 패킷 앞에 주소를 붙여서 데이터를 전송하는 방식이다. 예시로 데이터를 여러 개의 편지에 나누어서 보내는 것으로 설명 할 수 있다. 장점으로 연결 절차가 필요 없으므로 빠르고 효울적인 통신이 가능하다 UCC와 같은 인터넷상의 동영상 서비스는 일반적으로 UDP로 서비스를 제공한다. 약간의 패킷의 손실이 있어도 동영상을 보는데 지장이 없기 때문이다. 인간에게 보낼 때도 신뢰성 있게 보내야 될 때가 있는데 ex) 너 진짜 (잘/못) 생겼다. 괄호가 빠지게 되면 무슨 말인지 알아 들을 수 없다.
💡
TCP 통신은 3 way hand shake라고 하며 출발 하드웨어랑 도착 하드 웨어 간에 보내는 신호다. (os레벨에서 한다) 출발 하드웨어가 데이터를 전송하면 도착 하드웨어가 ack로 응답을 보내고 ack를 받으면 다시 응답을 쏴주는 과정이다.

패킷 스위칭

💡
패킷 스위칭:라우터에서 패킷을 라우터로 이동시키는것을 의미한다. 돈을 절약 하기 위해서 라우터:패킷 전송장치로 HW(하드웨어) 속한다. 보통 패킷은 1500byte다

패킷

💡
패킷 하는것을 캡슐레이션이라고 하며 쎄그먼트 돼있는 데이터를 목적지 주소와 출발지 주소를 붙여 감싼다.
패킷
notion image

IP

💡
목적지 주소랑 출발지 주소를 각각 목적지 ip 출발지ip라고 한다. 컴퓨터 두 개의 사이에서도 수많은 라우터 그물망들이 존재한다. 웹 서버(www(world wild web)): 여러개의 하드웨어가 라우터 그물망들로 통신 하는 것 을 의미한다. 쏘스:출발지 주소 ip주소 표기법: 000.000.000.255 4byte가 표현 될 수 있는 것 이다 (IPV4) 아직까지 이걸로 사용 되지만 40억개의 주소가 넘어가게 되면 (IPV6)를 도입 할것이다 IPV6은 128비트를 사용한다. host:인터넷이 되는 장치 (컴퓨터,애플워치,휴대폰 등 (라우터x)) 결국 내호스트랑 상대 호스트랑 ip주소가 있어야지 통신을 할 수있다. 왜냐면 내 호스트를 알아야 상대 호스트가 받았다고 응답을 하기 때문이다. 만약 ack에 응답이 없을경우 목적지 호스트에서 데이터를 버린다.
여러 호스트에서 한 호스트로 통신을 보내는 경우의 이미지
notion image

통신의 방향

💡
단방향: 반이중:(무전기)요청온 버퍼만 보내는 상황 그렇게 되면 나는(보내는 버퍼, 읽는 버퍼) 상대는(읽는 버퍼, 보내는 버퍼) (웹은 반이중으로 존재한다)(스레드 하나만 있으면됨 (스테이트 리스) 요청자의 상태를 기억 못하는 것 전이중(양방향): (카톡)먼저 통신이 오기도하고 내가 먼저 메세지를 보낼 수 도 있다(스레드 두개 필요하다.)예시로 내가 보낼때 상대방이 나에게 메세지를 보내는 상황 상대가 사라지지 않는 상황(스테이트 풀) 요청자의 상태를 기억하는 것
 
 

lan

💡
공유기 기점으로 내부에서 통신할때를 말한다.
 
Share article
RSSPowered by inblog