|
TCP / IP (Transmission Control Protocol / Internet Protocol)는
미국국방성(DoD=Department of Defense)에서 데이터의 완전 무결성을 보장, 보존은 물론
큰 재앙을 가져오는 전쟁발발 했을 때 통신을 유지하기 위하여 개발하였다.
때문에 TCP( / IP는 인터네트워킹에서 end to end 사이의 신뢰성 높은 통신구축으로
error없는 데이터 전송의 보장하는 Protocol(=통신규약)이다.
전쟁상황에서 조금이라도 error이 있으면 바로 패배와 직결된다.
때문에 신뢰성 보장을 위하여 3번 악수법으로 확인한다.
3way handshake : 동기화 <확인, 응답 > ---> 연결구축<확인, 응답 > ---> data전송<segment전송>
acknowledge : 확인응답
안녕하세요? 딱지떼기네 집이지요? 네, 맞습니다. 이렇게 확실하게 확인한 다음
믿을 수 있는 연결이 구축이 확인되면 정보data를 보낸다.---> 이를테면
(정보data)이번 겨울 여행에서 찍은 사진 보낼게 잘 받아 보관했다가 사령관님께 보고해.
TCP / IP는 TCP + IP의 2개의 프로토콜로 이루어져 있는데 < TCP는 ISO 4계층 / IP는 ISO 3계 >
TCP는 error없는 신뢰성 있는 통신구축과 원활한 traffic 흐름제어가 핵심이고
IP의 핵심은 IP 주소이다.
IP는 주소를 갖고 목적지를 찾아감에 있어서 우선 IP주소를 메기고
그 IP주소를 갖고 목적지 Host를 찾아가는 규칙을 규정하고 있다.
TCP는 정보 data를 갖고 목적지를 향하여 바삐바삐 달려가고 몰려드는 패킷들의 흐름을 제어하고
엉뚱한 길로 들어서지 않게 하고 error 검사도 하여
하나도 빠뜨리지 않도록 연결을 확실히 하고 무사한 전송(transmission)이
이루어지도록 제어(control)가 이루지는 통신규칙(protocol)이다.
교통흐름에 비유하자면, 자동차, 자전거, 오토바이 등등은
segment, packet, datagram에 해당하고
자동차 오토바이에 정보data를 싣고 목적지를 찾아가는 규칙 그리고
목적지에 해당하는 인터넷 상에 있는 컴이라든가 프린터 그리고 라우터에
IP 주소를 메기는 규칙을 일컬어
인터넷 프로토콜 IP이라 하고
자동차, 오토바이 등이 교통사고 내지 않고 무사히 흐를 수 있도록
전체적으로 조절 제어하는 통신규칙을 TCP라 할 수 있겠다.
이 둘을 합하여 TCP/ IP라고 일컫는다.
여기서 계층 개념을 도입하여 IP 통신규칙이 적용되는 계층을 네트워크 계층,
TCP 통신규칙이 적용되는 계층을 전송계층이라 하고
N/W 계층보다 상위 계층으로 분류한다. <잘 이해 안 오면 이 글 맨끝 참조>
OSI 계층 분류에 의하면 N/W 계층은 3계층이고
TCP, UDT가 적용되는 전송 계층을 4계층으로 분류한다.
segment : 조각, 단편
** TCP session을 맺는 과정과 그 동작 원리
TCP는 장치들 사이에 논리적인 접속을 성립하기 위해 three-way handshake 를 사용.
ACK = acknowledge = 확인응답, 도착통지 /
SYN = synchronization = 동기화 <올림픽 싱크로나이즈 수영을 연상하면 쉽게>
TCP 3번 접속법 < 3WAY HANDSHAKING >
client가 서버에 연결 요청을 하면 3WAY HANDSHAKING 과정을 통해 연결한다.
client가 서버에게 SYN을 보내면
서버가 client에게 SYN+ACK 를 보내고
client가 다시 서버에게 ACK 를 보냄으로서 연결이 완료된다.
이렇게 절차가 3번 접속에 의하여 이루어지기 때문에 세 번 접속법< 3way shaking >이다.
좀더 설명하면
먼저 A가 접속신호를 보내면
상대는SYN+ACK를 보내는데
SYN과 함께 받은 SYN+받은 패킷의 크기를 ACK에 담아 보낸다.
A가 상대에게서 일정한 시간동안 패킷을 받지 못했을 경우
실패로 간주하고 첫번째의 과정을 되풀이 한다.
또한 받은 패킷의 ACK가 자신이 예상한 수와 다르면
자신이 보낸 패킷이 중간에서 손상을 입은 것으로 판단하고
이 경우도 첫번째의 과정을 되풀이 한다.
제대로 패킷을 받을경우 자신도 ACK를 보내는데
이 패킷을 받은 상대도 위와 같은 방법을 통해 자신이 보냈던 패킷이 A에게 제대로 갔나를 확인한다.
제대로 되었다고 판단되면
이제부터 본격적으로 두 컴 간의 통신이 이루어져 서로 SYN+ACK+여러가지 ... 를 보내며
자신의 패킷이 제대로 전달 되었는 지를 확인하며 서로 통신을 한다.
초기에는 같은 회사에서 만든 장비끼리만 통신이 가능했었는데
여간 불편할 뿐만 아니라 낭비도 심하지요. 때문에
일컬어 ISO 7계층이라는 것을 통신장비 업체들로 하여금
범용 N/W장비를 만들 수 있도록 도움을 주기 위하여
전세계의 모든 업체들에게 개방된 OSI 모델을 정하였다.(1970년대 말)
OSI : open systems interconnection제정
ISO는 1970년대말 open systems interconnection제정
OSI 7계층 중 1~4계층을 하위계층으로 end station에서 어떻게 datark 전송되는가를 정의하고
5,6,7계층을 상위계층으로 end station의 적용(application) 사용자사이에서 어떻게 상호통신하는 것을 규정하고 있다.
1계층 : 물리적 topology , ethetnet--- CSMA/CD
CSMA : Carrier Sense Multiple Access
Carrier Sense=통신회선상의 신호 있는지 없는지를 감지.
CD = C ollision Detect Collision = 충돌 Detect = 탐지
CSMA / CD
host가 회선상에서 다른 신호를 감지하면
통신금지 Jam signal을 보냄으로써
같은 segment의 모든 node는 전송을 멈춘다.
2계층 : data link --- MAC<media access control> , LLC <logical link control > framing
3게층 : routing & networking addressing----패킷
4계층 : end to end 연결----흐름제어 , 연결지향 통신, 확인응답, segment 전송
5계층 : 대화제어 ---6계층 사이의 session을 설정하고 끊는다. 6계층 장비들 사이에서 node와 node사이의 대화를 제어한다.
6계층 : data 암호, 압축, 번역 서비스 --- 인간이 읽을 수 있는 응용계층의 data를 기계가 읽을 수 있도록
번역과 포맷, 암호화, 압축을 응용계층에 제공한다. 그래서 제공한다는 뜻의 presentation계층이라 일컫는다.
JPGE(joint photographic experts group) / MIDI( musical instrument digital interface) /
quick time / RFT (rich text format
7계층 : 응용 및 적용계층 파일, 프린터, data base, application service --사용자와 컴이 통신하는 곳.
촛짜 이해를 위하여 억지로 비유를 만들어 보자면
TV에서 전기 장치, 화면장치, 안테나 등등에 관한 계층,
카메라 및 조명장치 계층이 있겠고
응용 및 적용 계층으로 다큐, 드라마, 뭐뭐뭐 ,,,별게 다 있겠지요.
OSI 7 Layer(OSI 7계층모델)은 무엇인가? <----클릭
CSMA/CD : Carrier Sence Multiple Access/Collision Detection
★동작하는 순서
①Carrier Sence-이더넷 환경의 PC나 서버가 현재 네트워크 상에서 통신이 일어나고 있는지 확인
즉, Carrier (=네트워크 상에 나타나는 신호)가 잡히는지 감지(Sence).
②Carrier가 잡히면
자기가 보낼 정보가 있어도 못 보내고 기다리다가
Carrier가 감지되지 않으면
눈치껏 자기 데이터를 네트워크 상에 실어서 보내게 된다.
③Multiple Access(다중 접근)-이때 같은 N/W에 있는 다른 PC나 서버에서도 눈치를 보고 있다가
신호가 잡히지 않는걸 알고서 동시에 데이터를 네트워크 상에 실어서 보내게 된다.
이때 두개의 장비들이 데이터를 동시에 보내려다 부딪치는 경우를
"충돌(Collision)이 발생했다."고 한다.
④Collision Detection(충돌 감지)-이더넷에서는 데이터를 네트워크에 실어서 보내고 나서도
혹시 다른 PC 때문에 충돌이 발생하지 않았는지를 잘 점검해야 한다.
그러다 만약 충돌이 발생하게 되면 데이터를 전송했던 PC들은
한정없는(random) 시간 동안 기다리다가
다시 데이터를 전송하게 된다.
⑤충돌이 발생하면 데이터를 다시 보내게 된다.
그런데 보내면 또 충돌나고 그래서 다시 보내면 또 충돌나고 이렇게 했는데도
15번이나 충돌하게 되면 그냥 포기한다!
칠전 팔기 아니고 14전 15기에서 포기!
|