728x90
반응형
물리 계층 (Physical Layer)

데이터는 전기 신호로 변환되어 네트워크를 통해 전송 됨

 

전기 신호란.

0과 1만으로 이루어진 비트열을 전기신호로 변환하려면 맨 아래 계층인 물리 계층의 기술이 필요함

전기 신호의 종류에는 Analog와 Digital 신호가 있음

물결 파형 전기 신호를 analogue, 보통 전화회선이나 라디오 방송에 사용됨

사각 파형 전기 신호를 digital 신호.

 

데이터 송신측 컴퓨터가 전송하는 0과 1의 비트열 데이터는 전기 신호로 변환되어

네트워크를 통해 수신측 컴퓨터에 도착. 수신측 컴퓨터에서는 전기 신호를 0과 1의 비트열 데이터로 복원

 

전기 신호 변환.

컴퓨터는 네트워크를 통해 데이터를 송수신할 수 있도록 랜 카드가 메인 보드에 포함되어 있는

내장형 랜 카드나 별도의 랜카드를 가지고 있음.

0과 1의 정보가 컴퓨터 내부에 있는 랜 카드로 전송되고 랜카드는 0과 1을 전기 신호로 변환하는 것.

 

물리 계층은 컴퓨터와 네트워크 장비를 연결하고 컴퓨터와 네트워크 장비 간에 전송되는 데이터를

전기 신호로 변환하는 계층임.

 

케이블의 종류와 구조.

 

네트워크 전송 매체의 종류에는 wire와 wireless가 있음

유선 전송 매체로 사용되는 네트워크 케이블 커넥터.

 

트위스트 페어 케이블.

네트워크의 전송 매체.

전송 매체는 데이터가 흐르는 물리적인 선로로 종류가 크게 유선과 무선으로 나뉨.

유선에는 트위스트 페어 케이블, 광케이블이 있고

무선에는 라디오파, 마이크로파, 적외선 등이 있음

 

가장 많이 사용되는 트위스트 페어 케이블(twisted pair cable)

종류에는 UTP 케이블, STP 케이블이 있음.

 

UTP 케이블(Unshielded Twist Pair: 비차폐 연선):

구리선 여덟개를 두개씩 꼬아 만든 네쌍의 전선으로 sheild로 보호되어 있지 않은 케이블

shiled는 금속 호일이나 금속의 매듭과 같은 것으로 외부에서 발생하는 noise를 막는 역할을 함.

UTP 케이블은 shield로 보호되지 않아 noise의 영향을 받기 쉽지만 저렴하기 때문에 일반적으로 많이 사용하는 케이블

 

STP 케이블(Shielded Twist Pair: 차폐 연선):

구리선 여덟개를 두개씩 꼬아 만든 선을 shield 로 보호한 케이블.noise영향은 적지만 비싸서 보편적이지는 않음

 

noise는 케이블에 전기 신호가 흐를 때 발생함

그래서 노이즈의 영향을 적게 받기 위해 구리선 두개를 비틀어 꼬아서 케이블을 만듬.

 

노이즈의 영향을 쉽게 받지만 저렴하기 때문에 일반적으로는 UTP 케이블을 사용함

UTP 케이블은 데이터 전송 품질에 따라 분류됨.

 

트위스트 페어케이블(UTP, STP)는 일반적으로 LAN Cable이라고 함.

보통은 랜 케이블이라는 용어로 더 많이 사용함.

규격과 속도에 따라 지원하는 속도가 다름.

 

랜 케이블의 양쪽 끝에는 RJ-45라고 부르는 커넥터가 붙어 있음

이 커넥터를 컴퓨터의 랜 포트나 네트워크 기기에 연결함.

 

랜케이블의 종류:

다이렉트 케이블과 크로스 케이블

 

다이렉트 케이블은 구리선 여덟개를 샅은 순서로 커넥터에 연결

 

크로스 케이블은 구리선 여덟개 중 한쪽 커넥터의 1번과 2번에 연결되는 구리선을 다른쪽 커넥터 3번,4번에 연결

 

다이렉트 케이블은 컴퓨터와 스위치를 연결할때 사용,

크로스 케이블은 컴퓨터 간에 직접 랜 케이블로 연결할 때 사용.

 

크로스 케이블은 일부러 중간에 전선을 교차시켜서 송신 측과 수신 측이 올바르게 연결되도록 하고 있음.

 

리피터와 허브의 구조

물리 계층의 네트워크 장비에는 repeater와 hub가 있음

repeater는 전기신호를 정형(일그러진 전기 신호를 복원)하고 증폭하는 기능을 가진 네트워크 중계 장비

(통신간 신호의 세기가 약해지면 리피터를 통해 신호가 증폭됨)

통신하는 상대방이 멀리 떨어져 있으면 리피터를 사이에 넣게 됨.

파형을 정상으로 만드는 기능을 함. 요즘에는 다른 네트워크 장비가 리피터 기능을 지원하기 때문에

따로 리피터를 사용할 필요가 없어짐.

 

hub란 포트(실제로 통신하는 통로)를 여러 개 가지고 있고 리피터 허브라고도 불림

리피터는 1:1 통신만 가능하지만 허브는 포트를 여러 개 가지고 있어서 컴퓨터 여러 대와 통신할 수 있음

 

랜케이블을 사용하여 컴퓨터 여러대와 허브 한대를 연결 할 수 있음.

허브는 리피터와 마찬가지로 전기 신호를 정형하고 증폭하는 기능을 함.

컴퓨터에서 보낸 전기 신호가 허브에 도착하는 동안 노이즈의 영향으로 파형이 변경될 때 사용

그럴 때 허브가 파형을 정상으로 되돌리는 기능을 함.

또한 컴퓨터 여러대를 서로 연결하는 장치로 사용되기도 함

하지만 허브는 어떤 특정 포트로부터 데이터를 받는다면 해당 포트를 제외한 나머지 모든

포트로도 받은 데이터를 전송하는 특징이 있음.

 

컴퓨터 1에서 2로 전송하면 2만 받는 것이 아닌 3, 4, 5 컴퓨터에게 데이터가 전송.

이처럼 허브는 스스로 판단하지 않고 전기 신호를 모든 포트로 보내서 더미허브(dummy hub)라는 이름으로 불림

 

그 대책으로 나온게 스위치(switch)라고 하는 네트워크 장비임

 


데이터 링크 계층 (Data link Layer)

랜에서는 데이터를 주고 받는 규칙으로 이더넷을 사용함

 

랜에서 데이터를 주고받으려면 OSI 두번째 계층인 데이터 링크 계층의 기술이 필요함

데이터 링크 계층은 네트워크 장비 간에 신호를 주고 받는 규칙을 정하는 계층

랜에서 데이터를 주고받기 위해 필요한 계층임

 

그 규칙들 중 일반적으로 가장 많이 사용되는 규칙이 이더넷(ethernet).

이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용.

 

허브에 들어온 데이터를 그대로 모든 포트에 보내지기 되는 더미 허브

그래서 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 서로 충돌(collision)

하지만 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있음

 

데이터가 동시에 케이블을 지나가면 충돌 할 수 밖에 없음

그래서 데이터를 보내는 시점을 늦춤

이처럼 이더넷에서 시점을 늦추는 방법을 CSMA/CD라고 함

CSMA/CD(Carrier Sense Multiple Access with Collision Detection: 반송파 감지 다중 접속 및 충돌 탐지)

CS는 '데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 확인'

MA는 '케이블에 데이터가 흐르고 있지 않다면 데이터를 보낸다'

CD는 '충돌이 발생하고 있는지를 확인하는 규칙'

이러한 규칙이 있지만 지금은 효율이 좋지 않아 거의 사용하지 않음.

스위치 네트워크 장비로 대체하면 충돌이 일어나지 않음.

 

MAC 주소의 구조

랜 카드를 제조할 때 정해지는 물리적 주소.

 

랜 카드는 비트열(0과 1)을 전기신호로 변환함.

 

이러한 랜 카드에는 MAC 주소라는 번호가 정해져 있음.

제조할 때 새겨지기 때문에 물리 주소라고도 부르는데 전세계에서 유일한 번호로 할당 되어 있음

MAC주소 (Media Access Control Address(물리주소)

중복되지 않도록 규칙이 명확하게 정해져 잇음.

MAC 주소는 48비트 숫자로 구성되어 잇고, 그 중 앞 쪽 24비트는 랜카드를 만든 제조사 번호고

뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호.

 

MAC 주소를 사용한 통신

OSI 모델이나 TCP/IP 모델을 떠올리면 각 계층에서 header를 붙임

OSI 모델에서는 data link layer에 해당하고

TCP/IP 모델에서는 network 계층에 해당함

이 계층에서 Ethernet header와 trailer 를 붙임.

 

이더넷 헤더는 목적지의 MAC주소(6바이트), 출발지 MAC주소(6바이트), 유형(2바이트) 총 14바이트로 구성

ethernet type은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타냄

여기에는 프로토콜을 식별하는 16진수 번호가 들어감.

 

유형 번호를 기억할 필요는 없으나 유형에 프로토콜 종류를 식별하는 번호가 들어감

트레일러는 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도

이더넷 헤더와 트레일러가 추가된 데이터를 frame이라고 함

네트워크를 통한 프레임이 전송되는 것임.

네트워크에서 이더넷 헤더를 이용한 통신.

 

컴퓨터 1은 이더넷 헤더에 데이터의 목적지인 컴퓨터 3의

MAC주소(목적지 MAC주소)와 자신의 MAC주소(출발지 MAC주소) 정보를 넣고 데이터를 전송함.

여기서 캡슐화가 일어나며 데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여

프레임을 만들고 물리 계층에서 이 프레임 비트열을 전기신호로 변환하여 네트워크를 통해 전송

 

스위치의 구조

 

스위치는 허브와 달리 데이터 충돌이 발생하지 않음

스위치는 네트워크 구성에서 빠질 수 없이 중요함

 

스위치는 data link layer에서 동작하고 layer2 switch 또는 switching hub라고도 불림

 

외형으로는 스위치와 허브를 구별하기 힘들지만 기능은 완전히 다름.

 

스위치 내부에는 MAC 주소 테이블(MAC Address table)이라는 것이 있음

MAC 주소 테이블은 스위치의 포트번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 database

 

스위치의 전원을 켠 상태에서는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않음

하지만 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이이라는 데이터가 전송되면

MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함께 등록함

이를 MAC 주소 학습 기능이라고 함.

 

하지만 컴퓨터 1에서 컴퓨터 3에 데이터를 전송한 시점에서는 아직 컴퓨터 3의 목적지 MAC 주소가

MAC 주소 테이블에 등록되어있지 않아 송신 포트 이외의 포트인 모든 포트에 데이터(프레임)이 전송되는데

이러한 데이터(프레임) 전송을 flooding 이라고 부름.

 

MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링 이라고함

이것으로 불필요한 데이터를 네트워크에 전송하지 않게 되는 것임

 

데이터가 케이블에서 충돌하지 않는 구조

케이블에 데이터가 아무리 많이 전송되어도 데이터가 충돌하지 않는 구조

 

통신방식: 전이중 통신과 반이중 통신

 

전이중 통신 방식(full duplex communication) : 데이터의 송수신을 동시에 통신하는 방식

반이중통신방식: 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식

 

전이중 통신방식은 데이터를 동시에 전송해도 충돌이 발생하지 않지만

반이중 통신방식은 데이터를 동시에 전송하면 충돌이 발생함.

 

랜 케이블(크로스 케이블)

송신 → 수신

수신 → 송신

데이터를 동시에 전송해도 충돌이 일어나지 않음(전이중 통신 방식)

 

허브에 연결하는 경우에는 반이중 통신방식 (충돌)

 

스위치는 충돌이 없음

스위치는 전송하면서 동시에 수신도 가능하여 효율이 매우 높음

 

허브는 반이중 통신 방식으로 동시에 데이터를 전송하면 충돌이 일어남

충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라고 함

허브는 충돌의 영향이 모든 컴퓨터에 미침

 

스위치는데이터를 동시에 송수신할 수 있는 전이중 통신 방식이기 때문에 충돌이 일어나지 않고

충돌 도메인의 범위도 좁음

 

충돌 도메인의 범위가 넓을수록 네트워크가 지연됨. 네트워크를 지연시키지 않기 위해서 충돌 도메인의 범위를 좁혀야함

 


Network Layer

전 세계에는 수많은 네트워크가 있고 그 네트워크들은 서로 연결되어 거대한 인터넷을 이루고 있음

 

네트워크 계층의 역할과 네트워크간 연결

: 서로 네트워크에 있는 목적지로 데이터를 전송하기 위해 필요

 

데이터링크 계층에서는 이더넷 규칙을 기반으로 데이터의 전송을 담당함

이 규칙에 따라 같은 네트워크에 있는 컴퓨터로는 데이터를 전송할 수 있지만

인터넷이나 다른 네트워크로는 데이터를 전송할 수 없음

 

네트워크 간의 통신을 가능하게 하는 것이 네트워크 계층의 역할

이 계층을 통해 다른 네트워크로 데이터를 전송하려면 라우터(router)라는 네트워크 장비가 필요함

 

라우터는 데이터의 목적지가 정해지면 해당 목적지까지 어떤 경로로 가는것이 좋은지 알려주는 기능을 함

랜에서는 MAC 주소만으로 통신할 수 있지만 다른 네트워크에는 데이터를 보낼 수 없음

그래서 MAC 주소가 아닌 네트워크를 식별할 수 있는 다른 주소가 필요함.

그 주소를 IP주소라고 함.

 

IP주소는 어떤 네트워크의 어떤 컴퓨터인지를 구분할 수 있도록 하는 주소

이 IP 주소가 있으면 다른 네트워크에 있는 목적지를 지정할 수 있음.

 

IP 주소로 목적지를 지정하는 것 뿐만아니라 데이터를 어떤 경로로 보낼지도 결정해야 됨

이와 같이 목적지 IP 주소까지 어떤 경로로 데이터를 보낼지 결정하는 것을 라우팅(routing)이라고 함

 

라우팅은 라우터라는 장비가하며 layer 3 switch 라는 장비도 라우팅을 할 수 있음

라우터를 사용하여 거리에 관계 없이 다른 네트워크로 데이터를 보낼 수 있음.

또 라우터에는 rouitng table이 있어서 경로 정보를 등록하고 관리함

 

IP란

네트워크 계층에는 IP(Internet Protocol) 이라는 프로토콜이 있음

데이터를 다른 네트워크에 있는 목적지까지 보내려면 라우터가 필요한데 이 IP가 있어서 가능한것임.

네트워크를 공부하다보면 자주 나오는 TCP/IP 용어의 IP를 말하는 것임

 

네트워크 계층에서 캡슐화할때 IP header를 붙임

version, header length, service type, total packet length, identification, flags, fragmetn offset, TTL, protocol,

header checksum, source IP address, destination IP address 순서로 헤더정보가 구성

IP header + DATA => 전송

 

출발지와 목적지 IP 주소 기억.

이처럼 IP 프로토콜을 사용하여 캡슐화 할때는 데이터에 IP 헤더가 추가되는데, 이렇게 만들어진 것을 IP 패킷이라고함

데이터 링크 계층에서는 Frame 이었는데 네트워크 계층에서는 IP Packet . 계층에 따라 용어가 달라짐.

 

IP 주소의 구조

 

네트워크 간 통신을 하려면 IP 주소가 필요함

 

IP 주소란.

실생활에 비유하면 주소와 같은 개념이며 우편물을 보내기 위해 주소가 필요한 것처럼

데이터를 다른 네트워크 목적지로 보내려면 IP 주소가 필요함

 

IP주소는 인터넷 서비스 제공자(ISP)에게 받을 수 잇음

IP 버전에는 IPv4와 IPv6이 있음

 

현재 주로 사용하고 있는 IPv4 주소는 32 비트로 되어 있어 IP주소를 약 43억개 만들 수 있는데,

처음 IP 주소를 만들 때 43억개면 충분하다고 생각하였지만 인터넷이 널리 보급되며 IP 주소가 부족해졌고

그래서 IPv6 주소를 사용하게 됨. IPv6는 128비트로 되어 있어 IPv4 주소보다 많은 IP 주소를 만들 수 있음

 

IP 주소에는 공인 IP 주소와 사설 IP 주소가 있음

참고로 공인 IP 주소는 인터넷 서비스 제공자(ISP)가 제공함

 

IPv4주소는 주소의 수가 고갈되고 있음 그래서 인터넷에 직접 연결되는 컴퓨터나 라우터에는 공인 IP주소를 할당하고

회사나 가정의 랜에 있는 컴퓨터는 사설 IP주소를 할당하는 정책을 사용함

 

랜안에 컴퓨터가 여러대가 있다면 공인 IP 주소는 사용할 수 있는 숫자가 제한되므로 컴퓨터 한대당 공인 IP 주소를

하나씩 할당하기가 어려움. 그래서 우선 인터넷 서비스 공급자가 제공하는 공인 IP주소는 라우터에만 할당하고

랜 안에 있는 컴퓨터에는 랜의 네트워크 관리자가 자유롭게 사설 IP 주소를 할당하거나 라우터의

DHCP 기능을 사용하여 주소를 자동으로 할당하고 있음

 

DHCP: Dynamic Host Configuration Protocol(IP 주소를 자동으로 할당하는 프로토콜)

 

이로서 공인 IP 주소를 절약하게 됨

 

MAC주소는 48비트로 구분하기 쉽도록 16진수로 표시하고,

IP 주소는 32비트로 구분하기 쉽도록 10진수로 표시함.

 

IP 주소는 네트워크 ID와 호스트 ID로 나눠져 있음

네트워크 ID: 어떤 네트워크인지 나타냄

호스트 ID: 해당 네트워크의 어느 컴퓨터인지 나타냄

이 두가지 정보가 합쳐져서 IP 주소가 됨.

 

IP 주소의 클래스 구조

 

IP 주소는 네트워크 규모에 따라 A-E 클래스로 나뉘어져 있음

 

IPv4의 IP 주소는 32비트.

비트로 구분하지만 네트워크 ID를 크게 만들거나 호스트ID를 작게 만들어 네트워크 크기를 조정할 수 도 있음

네트워크 크기는 Class라는 개념으로 구분

 

A클래스 대규모네트워크주소

B클래스 중형 네트워크주소

C클래스 소규모 네트워크 주소

D 클래스 멀티캐스트 주소

E클래스 연구 및 특수용도 주소

 

네트워크 주소와 브로드캐스트 주소의 구조

 

컴퓨터에 할당할 수 없는 IP 주소인 네트워크 주소와 브로드캐스트 주소

 

이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용하면 안되는 주소임

네트워크 주소는 전체 네트워크에서 작은 네트워크를 식별하는 데 사용됨

브로트캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한번에 데이터를 전송하는데 사용되는 전용 IP 주소

 

서브넷의 구조

네트워크를 분할하는 것을 서브넷팅이라고 함

분할된 네트워크를 서브넷(subnet)이라고 함

대규모 네트워크를 작은 네트워크로 분할

 

IP 주소를 서브넷팅하면 어디까지가 네트워크 ID이고 어디부터가 호스트 ID인지 판단하기 어려울 때가 있음

그럴 때는 서브넷 마스크값을 사용함

서브넷 마스크는 네트워크 ID와 호스트 ID를 식별하기 위한 값

 

라우터의 구조

서로 다른 네트워크와 통신하려면 라우터가 필요

라우터는 스위치를 아래로 두어 네트워크를 분리할 수 있음

 

한편 스위치만 있는 네트워크 구조는 모든 컴퓨터와 스위치가 동일한 네트워크에 속하게 됨 허브도 마찬가지임

 

라우터만 네트워크를 분리 할 수 있음

 

네트워크에 데이터를 전송하려면 라우터의 IP 주소를 설정해야됨.

이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 함

 

라우팅은 경로 정보를 기반으로 현재의 네트워크에서 다른 네트워크로 최적의 경로를 통해 데이터를 전송

이 경로 정보가 등록되어 있는 테이블은 라우팅 테이블

 

라우터 간에 라우팅 정보를 서로 교환하기 위한 프로토콜을 라우팅 프로토콜이라고 함

 


Transport Layer

네트워크 계층에서는 다른 네트워크로 데이터를 전송하려면 라우터가 필요하고 라우터의 라우팅 기능을 사용하여 전송할 수 있음

 

물리계층, 데이터 링크 계층, 네트워크 계층의 3계층이 있으면 목적지에 데이터를 보낼 수 있음

하지만 데이터가 손상되거나 유실되더라도 이들 계층에서는 아무런것도 해줄 수 없음

 

전송계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요

 

우선 전송계층에는 오류를 점검하는 기능이 있음

오류가 발생하면 데이터를 재전송하도록 요청함

네트워크 계층은 목적지까지 데이터를 전달하고 전송계층에서는 데이터가 제대로 도착했는지 확인

그리고 해당 데이터가 어떤 application 에서 사용하는 데이터인지 판단해야 됨

 

예를 들어 홈페이지에서 사용하는 데이터인데 메일 프로그램에 전송하면 안되기 때문에

전송계층에서는 전송된 데이터의 목적지가 어떤 application 인지 식별하는 기능도 있음

 

연결형 통신과 비연결형 통신:

전송 계층의 특징은 신뢰성/정확성과 효율성으로 구분할 수 있음

신뢰성 및 정확성은 데이터를 목적지에 문제없이 전달하는 것이고

효율성은 데이터를 빠르고 효율적으로 전달하는 것임

 

여기서 신뢰할 수 있고 정확한 데이터를 전달하는 통신을 연결형 통신이라고 함

또한 효율적으로 데이터를 전달하는 통신을 비연결형 통신이라고 함

 

연결형 통신은 상대편과 확인해가면서 통신하는 방식이고

비연결형 통신은 상대편을 확인하지 않고 일방적으로 데이터를 전송하는 방식임

 

전송 계층의 연결형 통신 프로토콜에는 TCP가 사용되고, 비연결형 통신 프로토콜에는 UDP가 사용됨

 

TCP의 구조

Transmission Control Protocol

전송 계층에서 신뢰할 수 있는 정확한 통신을 제공하는 TCP 프로토콜의 구조

 

신뢰성과 정확성을 우선으로 하는 연결형 통신 protocol 인 TCP

 

TCP 로 전송할 때 붙이는 header를 TCP 헤더라고 함

이 TCP 헤더가 붙은 데이터를 Segment 라고 함

IP header와 마찬가지로 다음과 같은 header정보가 포함됨

 

출발지 포트 번호(16비트), 목적지 포트번호(16비트), 일련번호(32비트), 확인응답번호(32비트), 헤더길이(4비트), 예약영역(6비트),

코드비트(6비트), 윈도우크기(16비트), 체크섬(16비트), 긴급포인터(16비트), 옵션

TCP Header + DATA => 송신

 

연결형 통신은 꼼꼼하게 상대방을 확인하면서 데이터를 전송하기 때문에 그 데이터를 전송하기 전에 먼저 연결(Connection)

이라는 가상의 독점 통신로를 확보해야 함. 이 연결을 확립한 이후에 데이터를 전송할 수 있음

 

연결(Connection):

TCP 통신에서 정보를 전달하기 위해 사용되는 가상의 통신로로 연결을 확립하고 데이터를 전송

 

TCP 헤더의 코드비트 부분에서 각 비트별로 역할이 있음 초기값은 0이고 비트가 활성화 되면 1이 됨

연결을 확립하려면 이 중 SYN과 ACK가 필요함

 

SYN 은 연결 요청, ACK 는 확인 응답을 뜻함. (synk , acknowledgement)

 

3-way handshake

연결(connection)은 syn과 ack를 사용하여 확립할 수 있음

신뢰할 수 있는 연결을 하려면 데이터를 전송하기 전에 packet을 교환하는데 세번 확인함

연결 확립요청(syn) -> 연결확립응답+ 연결확립요청(syn, ack) -> 연결확립응답(ack)

 

이처럼 데이터를 보내기 전에 연결을 확립하기 위해 패킷 요청을 세번 교환하는것을

3-way handshake라고 함.

 

연결을 끊을 때는 fin과 ack를 사용하는데 fin은 연결 종료를 뜻함

tcp 는 신뢰성과 정확성을 중요하게 여기는 프로토콜이라서 상대방이 문제가 없는지 확실히 확인함

 

 

UDP 정리

User Datagram Protocol

UDP 는 데이터를 효율적이고 빠르게 보낼 때 사용되는 프로토콜

UDP 는 UDP 헤더가 있지만 TCP 헤더에 비해 간단함

UDP 헤더가 있는 데이터를 UDP 데이터 그램이라고 함

UDP는 랜에서 불특정 다수에게 브로드캐스트로 데이터를 일괄 전송함

 

TCP 는 3-way handshake와 같이 데이터를 전송할 때도 확인 응답을 하나씩 보내야하기 때문에

브로드캐스트와 같이 불특정 다수에게 보내는 통신에는 적합하지 않게됨.

 

UDP에서의 브로드캐스트는 목적지에 관계없이 랜에서 일괄적으로 보내지만 TCP는 목적지를 지정하지 않으면

안되기 때문에 일괄 통신을 할 수 없음

 


Application Layer

웹페이지를 볼 때는 internet explorer와 같은 웹 브라우저 사용하고, 메일을 보낼 때는 outlook 과 같은 메일 프로그램 사용

이렇게 application 은 사용자가 하고 싶은 일을 할 수 있도록 도와 줌.

이러한 application은 service를 request하는 측 (user)에서 사용하는 application으로 분류 할 수 잇음

서비스를 요청하는 측이 있다는 것은 서비스를 제공하는 측도 있다는 것

 

일반적으로 서비스를 요청하는 측을 Client  서비스를 제공하는 측을 Server라고 함

application 은 응용 계층에서 동작함.

 

application과 data를 주고받기 위해 필요.

응용 계층에서는 사용자측(client)의 요청을 전달하기 위해 통신 대상(server)이 이해할 수 있는 메시지(data)로 변환하고

전송 계층으로 전달하는 역할을 함

 

클라이언트 측 application(web brower, mail program 등)이 서버측 application(web server program, web server program 등)과

통신하려면 응용 계층의 protocol을 사용해야 됨.

 

web browser <-req,res-> web server program

ftp client <-req,res-> ftp server program

mail program <-req,res-> mail server program

 

프로토콜 사용

웹 사이트를 볼 때는 HTTP (HyperText Transfer Protocol)

파일을 전송할 때는 FTP(File Transfer Protocol)

메일을 보낼 때는 SMTP(Simple Mail Transfer Protocol)

메일을 받을 대는 POP3(Post Office Protocol version)

이름해석 DNS(Domain Name System) 네트워크에서 컴퓨터나 네트워크 장비에 붙여진 이름을 기반으로 IP 주소 알아내는 것

 

 

응용계층 : HTTP, DNS, FTP, SMTP, POP3, etc

전송계층: TCP, UDP

네트워크계층: IP 등

데이터링크계층: 이더넷

물리계층 : 전기 신호 변환

728x90
반응형

'Network' 카테고리의 다른 글

애드혹 네트워크(Ad hoc network)  (0) 2023.04.14
BLE.bleak  (0) 2022.12.19
Network Structure  (0) 2022.12.17
File Transfer Protocol (FTP)  (0) 2022.12.04
TCP / IP (Socket programming)  (0) 2022.12.01

+ Recent posts