교재 : Data Communications and Networking
저자 : BEHROUZ A. FOROUZAN
1.1 Data Communications
데이터 통신의 정의
: Some form of transmission media(wireless 혹은 wired)된 form을 통해 두 디바이스의 데이터 교환
데이터 통신은 총 4가지 살펴봐야할 특징이 존재하는데, 다음과 같다.
1. Delivery : 데이터가 배달이 됐는가
2. Accuracy : 데이터가 정확한가
3. Timeliness : 데이터가 '제한된 시간 안'에 가는가
4. Jitter : delay variation을 의미, 즉 한 데이터를 보낼 때 여러 패킷으로 쪼개지는데, 이때 각 패킷의 지연 시간들의 차이.
(Jitter가 커지면 각 패킷의 지연시간이 천차만별 -> 수신이 불안정함)
데이터 통신이 이뤄지기 위한 구성
1. Message : 데이터가 있어야지
2. Sender : 송신자
3. Receiver : 수신자
4. Transmission Medium : 데이터가 가기 위한 전송매체(케이블, 위성채널, ...)
5. Protocol : 데이터가 통신될 때, 통신규약! 이게 없으면 Sender과 Receiver은 서로 통신 불가능하다. (송신자와 수신자 사이의 set of rules)

이제 각 구성들을 구체적으로 알아보자
1. Message
오늘날의 메세지, 즉 데이터는 정보를 포함하고 있음.
정보는 여러 개의 form으로 존재할 수 있다.
1) text : Unicode(16 bits)를 이용한 bit patterns으로 이루어져있다.
2) numbers : Binary(0과 1, 이진법)으로 이루어져있다.
3) images
: RGB(빨,초,파) 혹은 YCM(yellow, cyan, magenta)로 이루어진 bit patterns으로 이루어져있다.
: 이미지의 가장 작은 단위는 pixel. -> 이 픽셀은 RGB, YCM과 같은 서브픽셀로 이루어진다. (+ 1920*1080과 같은 해상도 = 가로 1920픽셀*세로 1080 픽셀. 픽셀이 높을수록 색을 더 풍부하게 표현 가능하다)
4) audio : 레코딩된 사운드. analog나 digital 서로 바꿔서 전송할 수 있다.
5) video : 연속적인 이미지. 혹은 이미지의 combination.
2. Data flow
이런 메세지들이 communicatino될 때의 flow도 정의를 해놓았다.
1) simplex
: 오직 한 방향의 통신
: 항상 둘 중에서 한 놈만 보낼 수 있다. ==> Sender 역할, Receiver 역할을 하는 station이 fixed된 상황
(수신자는 수신만 가능 송신자는 송신만 가능)
2) half-duplex
: 양방향 통신 or 반이중 통신이라고 불림, 어느 한 쪽에서만 송신이 가능하다. (군필자라면 워키토키로 생각하면 편함 -> 한 쪽 말할 때 다른 쪽은 청취만 가능)
: 각각의 station을 송신 및 수신이 가능하나, 둘 다 same time에 하지는 못함. simplex와의 차이는 한 station이 송신자 - 수신자 사이에서 역할을 왔다갔다 할 수 있는 것.
3) duplex
: 전이중 통신, 서로 송수신이 한번에 가능하다
: 양쪽의 station이 송신과 수신을 동시에 할 수 있다 (그냥 오늘날의 데이터 통신으로 생각하면 쉬움)
1.2 Networks
네트워크(network)의 정의
: (net+work) communication이 가능한 디바이스들로 이루어진 interconnection
특징
device는 컴퓨터, 노트북, 핸드폰 등의 host를 의미한다.
또한 device는 라우터, 스위치, 모뎀과 같이 데이터의 형태를 바꿔주는 connecting device가 될 수 있다.
그니까 device는 호스트를 의미할 수도 있고, 커넥팅 디바이스를 의미할 수도 있는 것임.
+) host = node = end-system. (ex. 서버와 클라이언트는 모두 end-system이라고 불린다.)
end-system들은 wireless든 wired는 모두 연결돼있다.
네트워크의 criteria
네트워크는 총 3가지 기준을 반드시 만족해야 한다.
1) performance
: transit time과 response time을 포함한 많은 방법들로 네트워크 퍼포먼스를 측정할 수 있다.
: transit time은 한 device에서 다른 device로 메세지가 가는 시간. response time은 elapsed time between an inquiry and a response.
2) reliability
: 네트워크 신뢰성은 frequency of failure. 실패의 빈도로 측정 (빈도)
: 네트워크 신뢰성은 실패로부터 link to recover하는 시간으로 측정 (시간)
: catastrophe에 의한 network 견고성으로 측정 (견고성)
=> 총 3가지로 신뢰성을 측정할 수 있다.
3) security
: 네트워크 보안은 데이터를 unauthorized된 access로부터 지켜내는 것.
네트워크의 physical structure
물리적인 구조는 어떻게 될까
기본적인 구조는 여러 device가 link로 연결돼있음을 생각할 수 있다.
여기서 link란 디바이스간 communication의 pathway.
디바이스간 가능한 connection은 다음과 같다.
1) point-to-point
: 한 링크에 두 개의 디바이스
2) multipoint
: 한 링크에 여러 개의 디바이스

그렇다면 디바이스간 physical topology는?
: physical topology가 뭐냐면, 네트워크가 physically 어떻게 뻗어있는지를 나타내는 것이다.
: 둘 이상의 디바이스가 링크로 연결돼있고, 둘 이상의 링크는 topology를 형성한다.
가능한 topology는 다음과 같다.
1) mesh
: fully connected mesh topology
: 각각의 디바이스가 모~든 디바이스와 연결이 돼있음
2) star
: 각각의 디바이스가 스위치나 허브로 연결돼있음
3) bus
: 각각의 디바이스가 메인 케이블에 다 연결돼있음
: 초기의 ethernet의 형태였다.
: tap이라는 것이 존재하는데, tap은 drop line이 메인 케이블에 연결된 지점을 의미한다.
4) ring
: 각각의 디바이스가 같은 링크에 다 연결돼있음
: circle 형태로 구성.
: repeater이라는 것이 존재하는데, circle 형태라 신호가 갈수록 약해짐으로 증폭기의 역할을 한다.
: A 디바이스에서 N 디바이스로 데이터를 보낼 때 거쳐야 하는 디바이스들이 존재할 수도 있다.
: 어느 디바이스가 어느 디바이스로 데이터를 보내고 있을 때, 다른 디바이스들은 모두 IDLE 해지는 단점이 있으나, 굉장히 fair하고 안정적이다.




1.3 Network Types
네트워크 타입의 종류
1. LAN (Local Area Network)
: privately owned된 네트워크.
: single office, building, or campus에서 hosts들을 연결한다.
: (과거) 한 링크에 여러 hosts가 연결 (위에서 bus topology로 보면 됨)
-> 한 host가 데이터 전송하면 다른 host들 다 수신됨
-> 동시 전송 못함. 링크 죽으면 모든 호스트가 다 죽는다.
: (현재) 하나의 switch or router에 여러 hosts가 연결 (위에서 star topology로 보면 됨)
-> 모든 호스트가 각각의 호스트에게 동시에 보낼 수 있다.
2. WAN (Wide Area Network)
: LAN보다 wider geographical span된 네트워크
: town, a state, a country or even the world에서 hosts들을 연결한다.
: TYPE 1) Point-to-Point WAN
-> 각각 다른 네트워크가 연결된 라우터끼리 transmission media를 연결해놓은 것.
: TYPE 2) Switched WAN
-> 둘 이상의 ends로 이루어진 네트워크.
-> 현재 global communication의 backbone(기간망)을 구성하고 있는 형태이다.

이러한 LAN과 WAN의 개념을 이용해 Internetwork를 생성할 수 있게 된다.
요즘은 LAN이나 WAN이 각각 따로 isolate된 것을 보기 힘들다. (모두 연결돼있음)
둘 이상의 네트워크가 연결되면 internetwork, 즉 internet을 형성하게 된다.
*나중에 말하겠지만 Internet과 internet 두 개는 다른



저기 보이는 backbone network는 네트워크 여러 개를 연결하는 중추가 되는 네트워크.
굉장히 빨라야 한다.
Internet과 internet
internet은 위에서 한 것, 서로 communicate가 가능한 둘 이상의 네트워크의 모임
Internet은 millions of interconnected된 network를 의미 (internet보다 더 큰 개념)

Provider network는 통신사가 설치 -> customer에게 통신망을 제공 -> customer network 생성 가능 (와이파이 공유기 설치 과정)
하나의 backbone은 하나의 통신사가 설치한다. 따라서 peering point라는 용어는 같은 레벨의 것들이 이어진 것을 의미한다.
Internet에 접근하기 위한 방법
user가 Internet에 연결되기 위해선, ISP에 우선적으로 연결돼야함. 여기서 ISP는 Internet Service Provider로서, 통신사를 뜻함.
우리나라로 치면 LG U+, SKT, KT가 있다.
이 통신사를 통해 Internet에 연결이 되기 위해선 physical connection이 필요한데, point-to-point WAN으로 한다.
(P2P WAN에서 저 위의 라우터가 우리 집의 공유기와 같은 것인가?)
1) Using Telephone Networks로 접근
Telephone Networks는 전화망으로, 예전 일반전화는 전화망으로 다 연결이 돼있었다. (유선전화)
따라서 Internet에 접근할 때 이 전화망을 사용하기도 했는데, 거주자와 전화국 사이에 연결된 voice line을 point-to-point WAN으로 변경하면 됐다.

그렇다고 한다.
2) Using Cable Networks로 접근
옛날엔 cable TV를 사용했다. 이 케이블 티비는 TV broadcasting을 수신하기 위해 coaxial cable을 사용했는데, 케이블 회사들이 케이블 네트워크를 업그레이드하고 Internet에 연결하게 됨으로써 residence는 인터넷 접근이 가능하게 됐다.
+) 요즘은 IP TV를 사용하는데, 이는 LAN cable을 사용해서 broadcasting을 수신한다.
3) Using Wireless Networks로 접근
요즘은 다 이렇게 인터넷에 접근한다.
wireless와 wired connections 둘 다 사용해서 인터넷에 접근 가능하다.
4) Direct Connection to the Internet
큰 회사나 조직은 스스로가 local ISP가 될 수 있다.
그러기 위해선 해당 회사나 조직은 carrier provider(통신사업자)로부터 high-speed WAN을 lease해야한다.
예를 들어 대학교는 개인의 internet을 만들 수 있고, 이 internet을 Internet에 연결하는 것이다.

1.4 Protocol Layering
정의
프로토콜이란 "a set of rules for communication"
즉 프로토콜은 데이터 통신에 있어서 송수신자와 connecting devices들이 따라야 하는, 정해놓은 통신 규약이다.
host와 connecting devices들이 지켜야 할 법같은 것.
이 프로토콜은 많은 layer가 존재한다.
이 layer들을 서로 분명하게 identical 해야한다.
layer을 나누는 것의 장점은 당연히, divide & conquer가 가능하다는 점이다.
(하나가 망가지면 그 layer만 해결하면 모든게 ok)
1.5 TCP/IP Protocol Suite
정의
TCP(Transmission Control Protocol)/IP(Internet Protocol)
현재 수많은 프로그램들이 인터넷으로 통신하는 데 있어 가장 기반이 되는 프로토콜이다.
실제 대다수 프로그램은 TCP와 IP로 네트워킹하고 있다.
TCP/IP 5계층

각 layer가 어떤 역할을 하는지에 대해선 나중에 천천히 배워보는 걸로.
실제로 두 개의 host끼리 Internet을 통해 네트워킹을 하면 다음과 같이 프로토콜을 지키며 실행이 된다.

Source (A)에서 메세지를 전송한다고 하면, 위의 5계층에서 top-down으로 프로토콜이 수행된다.
나중에 배우겠지만 각 layer에선 해당 msg에 보안을 도와주는 head를 추가하거나 식별이 가능하게끔 IP를 달아주는 등 많은 handling을 수행한다. (메세지를 전달하기 위해 포장을 하는 과정)
connecting device들인 스위치나 라우터에서는 오직 2계층 혹은 3계층밖에 없는 것을 알 수 있다.
이것은 아마 스위치나 라우터에서 data handling 시간을 줄이기 위해 필요없는 부분은 다 없앤 것이 아닐까 싶다.
저들의 주요 역할은 메세지를 '전달' 하는 것이니, 남아있는 layer들은 아마 전달에 도와주는 layer일 것이라고 예상할 수 있다.
반면 Destination (B)에선 수신된 msg가 5계층에서 bottom-up으로 수행된다는 것을 알 수 있다.
(메세지를 수신하기 위한 포장을 해제하는 과정)
각 layer에선 메세지를 또 다르게 부르는데, 아마 각 layer마다 수행하는 일이 다르므로 구별하기 위함인 것 같다.

(송신측 입장에서)
메세지를 생성한 Application layer을 거치고 나면 '메세지'
전송하기 위한 Transport layer을 거치고 나면 segments 혹은 datagrams
network layer에선 datagrams
datalink layer에선 frames
physical layer에선 bits라고 불린다.
각 layer의 역할 : 나중에 구체적으로 할거니까, 지금은 간단하게 감만 잡자.
Layer 1) Physical Layer
: 5계층 중 가장 낮은 level
: carrying individual bits in a frame across the link가 주요 임무이다.
Layer 2) Data Link Layer
: router로부터 경로가 지정되면, 그 경로로 가기 위해 메세지가 다음에 어느 Link로 moving하는 것이 주요 임무이다.
Layer 3) Network Layer
: 송신측에서 목적지까지 가는 길에 엄청나게 많은 router가 존재하는데, traffic volume에 따라 router를 지정하는 것이 주요 임무이다.
Layer 4) Transport Layer
: 메세지의 service를 application에 제공하는 것이 주요 임무이다.
: 올바른 application에 메세지를 전달해준다.
Layer 5) Application Layer
: logical connection은 end-to-end이다.
: two programs가 실행되고 있다. -> 뭔지는 나중에
1.6 OSI Model
TCP/IP 5계층 말고, OSI 7계층이라는 것도 존재한다.

이것은 application layer을 총 3개의 부 Layer로 나누었다.
하지만 사용되고 있지 않다.

'Infrastructure > Networking' 카테고리의 다른 글
| [책 review] #3. Data-Link Layer에 대하여 (3) | 2024.03.05 |
|---|---|
| [통신 네트워크 설계] Chapter Review (0) | 2024.03.04 |
| [논문 리뷰] 통신 특징으로 IoT device의 Identity 식별하기 (1) | 2024.02.27 |
| [논문 리뷰] 엣지 컴퓨팅 최신 동향 (0) | 2024.02.23 |
| [책 review] #2. Physical Layer에 대하여 (1) | 2024.02.21 |