본문 바로가기
학교 강의/정보통신공학

Chapter1 (2)

by dustnn 2025. 3. 17.
Communication Tasks

 

1. Transmission system utilization & interface & signal generation & synchronization timing

 

: need to make efficient use of transmission facilities that are typically shared among a number of communicating devices; multiplixing

(어떻게 하면 사용자들에게 자원을 효율적으로 분배할 것인가)

 

- Transmission system: 줄 & 장비

- Utilization: 이용률

=> utilization이 적절히 이루어지도록 cost 또한 적절히 책정해야 한다.

 

이전에는 소통하기 위해서 각각의 소통별로 줄을 놓아야 했다면,

이제는 사용자들이 지역에 따라 그룹을 이루어 한꺼번에 LAN을 공유하는 것이다.

=> 여러 사용자들이 link를 공유해야 하기 때문에 multiplixing(L1)의 개념이 나온다.

 

- Multiplexing: 여러 사용자들이 공유할 때 생기는 문제 해결

- Multiple access: 여러 사용자가 동시에 하나의 통신 채널을 공유할 수 있는 방식을 제공하는 프로토콜

 

<"To communicate, a device must interface with the transmission system">

- NIC의 OS가 IP주소를 세팅함(Interface의 address는 기기가 아니라 NIC에 부여되는 것)

- 여러 군데에서 들어와도 동시에 처리가 가능하려면 여러 개의 interface를 두면 됨(여러 개의 네트워크에 접속 가능)

- Ethernet switch로 가기 위해서는 Ethernet card를 통해 나감. 나갈 때는 전기 신호가 나옴

L1 장비(소프트웨어 없음): 전기 신호 그대로 보냄

L2, L3 장비(소프트웨어 있음): signal을 bit로 바꿔서 보냄

 

 

<"Once an interface is established, signal generation is required for communication">

 

<"For synchronization timing between TX and RX">

: receiver는 sender의 의도대로 signal을 파악할 수 있어야

 

- signal이 어디서 시작하고 끝나는지 결정 가능해야 함.

- 각 signal이 박자(duration) 맞춰야 함

 

 

2. Exchange management & Error detection and correction & Recovery

 

<Exchange management>: connection oriened protocol에 의해 수행

: 인터넷은 중간에 있는 줄과 장비를 여러 사용자들이 공유 -> 순서 뒤섞이거나 오류 등이 나타나는 상황 발생 -> 중간에 오류를 고쳐주는 사람 필요

 

- Connection Oriented protocols: connection setup(TCP끼리) -> data transfer(밑 모듈로 보냄) -> disconnection(TCP끼리)

ex. HDLC(L2), TCP(L4)

- Connectionless protocols: 사전 연결 작업 없음

ex. UDP(L4), IP(L3)

 

<Error detection and correction>

- Error detection

: L2, L3, L4 계층 모든 프로토콜이 함.

- Correction

: TCP만 함

 

* transmit: 상태를 바꾸는 것. (bit -> signal) by NIC

=> 아직 출발 안 함. 첫 번째 bit가 signal로 바뀌면 출발

* transport transfer: "이동"의 의미

 

* reliable = 보낸 순서대로, 아무 loss 없이 전달되고 나 혼자 써야 함.(memory corruption 등 오류가 아예 없어야.)

reliable service하려면 각 계층의 같은 계층 같은 프로토콜이 콜라보해 bit가 전달됨

 

* 지나가는 router은 가장 높은 계층이 IP -> IP는 connectionless, stateless

 

<Recovery>: stateful protocol에 의해 수행됨..

멈춘 시점(interrupt된 곳)부터 다시 하면 됨. 

- stateless protocols: 이전 작업 신경쓰지 않고 그냥 보냄

ex. IP, UDP

- stateful protocols: 이전 작업 기록해두고 그에 맞게 -> 복잡하기 때문에 WAN에는 없음

ex. TCP

 

3. Flow control
Congestion control
Message formatting

 

<Flow Control>

속도 조정: loss가 일어나지 않도록 데이터 보내는 속도 조정

ex. HDLC(L2), TCP(L4)

=> source 와 destination node의 상황을 모두 봐야하기 때문에 규모가 큰 control

이때 source와 destination node는 host, router, L2-switch 모두 가능

 

<Congestion Control>

인터넷은 source에서 destination까지 가는 데 필요한 자원을 사전에 확보해두지 않음 -> buffer에서 대기 -> buffer congestion

-> 모두의 속도를 공평하게 줄임

 

  Flow Control Congestion Control
공통점 sender가 sending rate(보내는 속도) 조정
차이점 받는 쪽(receiver)의 buffer 넘치지 않도록 중간 router들의 buffer 넘치지 않도록

 

TCP가 flow control한다 = host 끼리 한다.

TCP는 L4의 프로토콜로, host 사이 router 들에는 없기 때문.

 

<Message Formatting>

 

application 계층의 프로토콜: SMTP, HTTP..

- SMTP는 표준 format을 정해 놓음 => 최초 표준은 7bit

- HTTP는 object 별로 일어난 일을 적어놓게 함 

signal -> L2,3계층을 지나면서 -> bit

router의 L2,3를 지나면서 memory에 들어갔다 나오는데, memory에 저장하는 방식은 system마다 다름

 

OS가 data를 저장하고 처리하는 단위는 byte

근데 byte 저장하는 방식이 OS가 있는 CPU가 무엇을 쓰느냐(CPU종류에 따라 little endian/big endian)에 따라 다름

- host byte order: host가 데이터를 저장하고 처리하는 방식(ex. little/big endian)

- network byte order: 데이터가 네트워크를 통해 보내질 때 저장되고 처리되는 방식

: big endian으로 표준 정함 -> little endian 쓰는 시스템은 맞춰줘야 함("host to host", "network to host")

 

4. Addressing
Routing
Security
Network management

 

<Addressing>: L2 addressing

shared medium을 이용한 broadcasting network은 특정 사람한테만 보내는 게 안 됨

-> addressing을 통해 특정 수신자 지정해줘야 함

L2 addressing: 하나의 네트워크는 하나의 링크에 연결된 상태에서 특정 수신자에게 address 지정

 

* L3 addressing

전체 네트워크를 고려하여 최적의 경로만 모아놓은 것이 routing table,

routing table에서 best만 모아놓은 것이 forwarding table

참고해서 행동 취하는 것이 forwarding

router가 맨 마지막 주소(L3 addressing)를 계속 보면서 결정

 

* L4 addressing

processor(HTTP server, DNS server 등)를 구분하기 위한 주소

 

* L5 addressing

application마다 선호하는 address

 

<Routing>: L3 addressing

 

path: source에서 destination까지 가는 데 거치는 라우터를 순서대로 모아 놓은 집합

라우터는 항상 켜져 있음

 

<Security>

sender 입장 - 내가 보내고 싶은 사람만 받을 수 있도록 함

receiver 입장 - sender가 보낸 그대로 받은 것인가

 

<Network management>

네트워크는 시간이 갈수록 많은 기능이 추가되었다.

전달만 -> 빨리 전달 -> 빨리+정확히 -> 빨리+정확히+더 많은 기능

 

Data communications

 

Transmission line

 

- data communication transmission을 이끄는 두 개의 transmission medium

1. fiber optic transmission

2. wireless transmission

 

- 제공하는 속성

1. capacity(=transmission rate=link bandwidth): 초당 얼마나 많은 bit를 signal로 바꿀 수 있는지

* 단위: bps

2. reliability(~error rate): 데이터 전달 중에 오류 발생 비율 최소화

3. cost: 최소 비용

 

Transmission Services

높은 효율로 link 사용하기 위한 두 가지 기술

- Multiplexing: 신호의 입장에서 신호 여러 개가 동시에 하나의 link 사용할 때 필요한 기술

- Compression: 압축하여 lower-capacity의 link(더 쌈) 쓸 수 있도록 하는 기술

 

* 한 user가 썼어야 하는 양이 commpression으로 인해 다 쓰지 않아도 됨 -> 남은 것은 다음 사람에게 주면 됨

=> FDM -> TDM 변함(모르면 그냥 10장에서..)

 

<Multiplexing vs Multiple Access>

 

둘 다 link utilization의 효율을 높이기 위한 개념이지만 다음과 같은 차이 존재. 

Multiplexing(Mux) Multiple Access(MA)
L1에서 L2에서
여러 개의 signal을 하나의 link에 포함해 보내는 방식
-> 주로 WAN에서 사용
- signal들이 각각 어느 유저로부터 왔는지 신경x
("신호들을 같은 Link에 같이 보내는 방법"에 초점->하드웨어적)
하나의 shared medium에 여러 유저의 데이터를 싣는 방식
- "각각 다른 user인데 어떻게 표현할지"에 초점->소프트웨어적
(유저가 쓰고 남은 것을 다른 유저가 어떻게 쓸까)
point-to-point network
* signal만 고려하기 때문에
- TX, RX 하나씩
multipoint-to-point network
* user들을 고려하기 때문에
- user 수 = TX 수
- addressing 필요
- collision 불가피
FDM, TDM, WDM,
OFDM(한 번에 한 유저만 가능, 남으면 남은대로)
FDMA, TDMA, CDMA, WDMA,
OFDMA(여러 유저 공유할 때도 고려), CSMA

 

Networks

 

두 가지 종류가 있음-LAN & WAN

 

WAN

 

- 넓은 지역에 걸침

- right-of-ways(RoW) 요구

- ISP의 회선에 의존

- Circuit switching & Packet switching 으로 대체 가능

 

<Circuit switching>: connection-oriented

 

: 고정된 rate (모두 3Kbps로 통일 -> 중간 사업자는 12Kbps라면 4명의 유저가 쓸 수 있다고 확신할 수 있음)

: dedicated communications path란, link bandwidth(3Kbps)를 공유하지 않겠다는 것 (심지어 idle할 때도)

: 시간제(전화를 계속 하면 다음 사람이 사용하지 못하기 때문에 시간제로 돈 받음)

 

voice: minimum throughput & maximum delay

delay & throughput에 민감(최소 몇 bps는 확보되어야 함)

 

1. connection setup: bit를 signal로 바꾸는 작업 미리 수행 => data transfer할 때는 안 해도 되고 signal이 쭉 전달

* routing: packet switching에서도 함

* link circuit allocation: packet switching에서는 안 함

 

2. data transfer: setup된 connection 사용해서 본 통신 시작

* no processing(address 할당하지 않음) <- routing 이미 되어 있기 때문

* no waiting <- link 이미 확보

transfer하는 동안 지나는 router들은 데이터 처리하지 않기 때문에 bit로 바꿀 일 없음

 

3. disconnection

 

 

전화기를 들면 연결음 들림 = 교환기가 connection setup하는 중

-> 끝나야 "여보세요" 가능(이때부터는 circuit switching만 진행하면 됨)

(ex1) PSTN(Public Switched Telephone Network)&POTS(Plain Old Telephone Service): 아날로그 신호

(ex2) ISDN(Integrated Service Digital Network): 디지털 신호

 

<Packet switching>: connectionless

- 쪼개서 만든 packet을 순서대로 보냄

- 중간 router들이 양쪽 끝의 host를 위해 전용 회선 할당하지 않음 -> 그때그때 남은 것 할당

-> 간헐적으로 사용하는 사용자에게 적합

- source~destination 소통 사이에 router to router 소통(IP계층끼리) 일어나는데, IP계층은 connectionless이므로 각각의 packet들이 독립적으로 전달됨

packet이 어디서부터 왔고 어디로 가는지에 대한 정보는 IP계층과 상관 없음. 별도의 프로토콜 사용

 

- 각각의 라우터는 packet이 들어오면 그 packet 전체를 저장하고 전달

(라우터에서는 packet이 들어올 때서야 routing이 이루어짐. 미리 이루어지지 않음.)

 

- 3가지 delay

* processing delay

* queueing delay: 확보를 미리 해두지 않기 때문에

* transmission delay: bit->signal 바꿔서 time slot에 전달

 

packet switching circuit switching
No Call set-up 이므로 단순
but, buffer의 queueing delay -> loss
Call set-up
No Resource Reservation -> 수요 있어야 할당 수요 없어도 Resource reservation
full link rate 사용 가능 사용하지 않아도 자원 할당
다수 사용자가 같은 시간에 Resource sharing 가능 한 타임에 한 명의 사용자만 사용 가능
network congestion -> packet delay/loss 발생 가능 guaranteed service(delay/loss x)
사용자 수 정해지지 않음(-> 까보니 한 명이 다 쓰는 것일 수도 있음)
-> various data rate으로 play하는 다양한 app을 지원할 수 있음.
사용자 수 처음부터 정해져있음
intermittent, bursty 데이터에 적합 guaranteed bandwidth 가 중요한 app 에 적합
Statistical TDM
* n명의 user, m개의 time slot
-> n>=m이 되도록 해서 남는 time slot이 없도록
* 이때, time slot을 누구에게 할당할지에 대한 계획은 없음
-> 각 packet은 buffer에 저장되었다가 address를 실어가야 함
-> "bit overhead"(user 데이터 이외의 정보이므로)
Synchronous TDM
유저 수를 정해놓고 time slot 할당 계획 세워둠
-> 아무리 많아도 할당량밖에 사용 못 함
Data가 들어왔을 때: routing(routing 정보를 봄)
data transfer 할 때: forwarding(안에 switching 포함) 
* Call set-up 시(Data transfer 전): routing
* transfer 시(data transfer 할 때): switching(bit-signal 변환 필요 없으므로.. forwarding보다는 switching)

 

(ex1) Internet(TCP/IP)

(ex2) X.25, Frame relay(FR, ATM)

 

 

LAN

 

- 작은 범위(한 빌딩, 캠퍼스 내)

-> source와 host가 같은 authority 안에 있으면 LAN 통신

ex. 이대에서 이대까지

- (중요)Internal data rates greater than WANs

: 사용자가 느끼는 속도는 WAN < LAN

 

 

WAN vs LAN

 

<WAN>

- more traffics

- more complicated

* topology: 어떤 집단이 어디에 연결돼있는지/무엇을 거쳐갈지,

* traffic pattern: traffic의 volume/direction/frequency,

* management: 앞에 것들이 복잡하므로 관리도 복잡

- unpredictable: 시간대별로 traffic의 행방 예측 어려움 -> 특정 라우터의 output buffer에서 대기 증가 -> congestion 증가

-> less line availability

- higher cost 

* link cable의 속도  WAN > LAN일지라도, 정확하게 예측해 깔기 어렵기 때문에

사용자 입장에서는(Internal data rate) 속도 WAN < LAN

 

 

 

- Ethernet: 유선

- Wifi: 무선

 

The Internet

 

<ARPANET('70)>

: NCP프로토콜 사용

 

<Internet('90)>

- ARPANET으로부터 진화 -> 첫 packet-switching network

- 표준화된 TCP/IP 프로토콜 사용

- 불특정 다수가 사용 -> 보안 문제 중요

- tactical radio & satellite communication에 적용, 현재는 비용이 좀 덜한 해저케이블 사용

* 일본-한국 해저케이블: by 덴마크

* 현재 해저케이블 있는 곳은 4군데: 태안/거제/부산/포항

- Interoperability/internetworking

* compatibility: 이전 버전과 업데이트 버전 사이 호환

* Interoperability: 다른 회사 제품 간 호환 ex. KT의 장비들은 각각 다른 회사꺼일 수 있음

-> interoperability 높아야 그 안에서 호환될 수 있음

 

<Internet Elements>

회색 기기들: host

 

<Internet Terminology>

 

 

- Central Office(CO)

: 개인 CPE와 연결된 장비

: 개인 PC를 다른 네트워크와 연결하기 위해 switching 장비를 가지고 있음

 

- Customer Premises Equipment(CPE)

: 개인 댁내에 설치된 modem

 

- Internet Service Provider(ISP)

: 인터넷을 개인 또는 회사에 제공하는 회사

ex. "hello mobile은 KT, SKT, U+의 인프라를 이용해 보다 폭넓게 품질 좋은 서비스를 제공"

-> "hello mobile"은 ISP(인프라만 제공해준 것이기 때문에)

 

- Network Service Provider(NSP)

: ISP에게 backbone 서비스를 제공하는 회사

 

- Network Access Point(NAP)

: ISP를 하나로 묶는 Internet interconnection points

 

- Point of Presence(POP)

: LAN끼리의 연결을 위해 제공하는 telecommunication 장비 집합

: 아래 hierarchical 그림에서 표시해놨다.

 

 

<Hierarchical Internet>

 

<Ewha-학생들>

Ewha: ISP

학생들: host

 

<Ewha-KT>

Ewha: customer ISP

KT(Tier3 network): provider ISP

* Ewha가 다른 LAN에 연결하기 위해서는 WAN을 거쳐야 하는데,

예컨대 "KT"라는 WAN 내 ISP를 거쳐야 한다면, KT가 Ewha에게 서비스를 제공하므로 provider, Ewha는 받는 쪽이므로 customer(provider에게 돈 냄)

 

* reliability(상위 계층에 얼마나 의존하는지): multi-homed ISP < single homed ISP

=> <핑크색 부분> single homed ISP는 하나의 상위 계층에만 연결돼있지만 multi-homed ISP는 여러 개에 연결 -> 하나의 tier2가 잘못돼도 다른 곳에서 어떻게든 서비스 받을 수 있어 안전함.

=> Ewha는 KT하고만 물려있으므로 single homed ISP

 

<IXP>

: 한 포인트에 여러 개의 ISP와 연결될 수 있는 point

: ISP가 아니라 제3의 회사

 

<peering>

PoP 사용하면 비용이 많이 들기 때문에, LAN끼리 peering 관계를 맺어 비용 부담 줄임

 

따라서 다음과 같은 3가지 방식으로 연결

1. peering

2. PoP(Point of Presence)

3. IXP: 제3의 회사를 통해 연결

 

Standard-Making Organizations

 

- ISO(International Standards Organization)

- ITU(International Telecommunications Union)

: ATM, Frame Relay, X.25 => application 이 없어 end-to-end 불가 => 망하고, 기술만 L2 로 통합

- ANSI(American National Standards Institute)

- IEEE(Institute of Electrical and Electronics Engineers): L2의 표준 생성 ex. Ethernet, Wifi 등..

- IETF(Internet Engineering Task Force): L3,4,5의 표준 생성