일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 파이썬
- 커밋 되돌리기
- JDBC
- mysql
- JPA
- BindingResult
- API
- DTO
- application layer
- intelij spring config
- 리눅스
- 런타임 상수
- 컴파일 타임 상수
- 프로그래머스
- 오블완
- 알고리즘
- 티스토리챌린지
- 백준
- compgen
- m:n
- 기본키 전략
- 쉘 스크립트
- 쿠키
- 메모리 구조
- allocationSize
- @Autowired
- 편향된 지수
- spring
- Git
- @SubscribeMapping
- Today
- Total
둘셋 개발!
[네트워크] Protocol Functions 1 본문
Protocol Function 이란?
여러 protocol(통신규약) 에서 두루 사용되는 특정 매커니즘을 말함
EX )
error control, flow control, framentation ..
(오류 제어, 흐름제어,..)
Error control
PDU가 정상적으로 전달 되지 않을 때 protocol entity의 동작
error control의 동작은 두가지로 나눠볼 수 있다.
첫번째는 Detect로 송신 측에서 오류가 난 상황을 인지 하는 것이고 , 두번째는 react로 오류 상황에서의 송신측의 동작을 말한다.
detect와 react의 종류를 그림으로 나타내면 다음과 같다.
1. Explicit Ack - detect
수신측에서 Pdu를 온전히 잘 받았는지 ack를 통해 송신측에게 알려주는 것
1) Positice Ack
: 정상 수신된 pdu에 대한 ack를 보냄
- 지금까지 수신한 pdu의 다음 sequence number을 알려줌
2) Negative Ack
: 미수신 Pdu를 알려줌
2. Implicit timer - detect
ack에 대한 기한을 두고, 기한을 넘기면 action을 취함
- Activity timer
: timer 시간을 충분히 크게 두고 reaction을 감지하면 멈추고 pdu를 수신함
- timer interval 을 얼마나 잡아야 할까?
적당히 잡아야 함
너무 짧으면 time-out이 빈번하게 일어나서 불필요한 reaction 발생
너무 길면 reaction이 너무 늦어지면서 불필요한 deadlock 구간 발생
3. CRC - detect
데이터 전송 시 오류가 났는지 판단하기 위해 데이터에 code를 덧붙이는 방식
: cyclic redundancy check
- crc 방법
p(x) = 110011
g(x) = 110
여기서 p(x)는 보내고자 하는 데이터이고 g(x)는 오류검출을 위한 데이터이다.
g(x)를 다항식으로 나타내면 최고차항이 2이므로 parity bit는 00으로 한다
info bit인 p(x) 110011 뒤에 parity bit를 붙여 11001100을 수신측에게 전송한다.
그러면 수신측에서는 오류검출을 위해 11001100을 g(x)로 나눈다.
0으로 떨어지면 오류가 발생하지 않은 것이고, 그렇지 않으면 오류가 발생한다고 판단한다.
4. ARQ - react
automatic repeat request 의 약자로, 오류가 발생하면 재전송하는 기법이다
- arq 종류
1) stop and wait
: 송신측이 하나의 데이터를 보내면 그에 대한 ack를 수신측이 보낼 때까지 기다린다.

2) Go back N
: 데이터를 계속 보내다가 나중에 n번째 데이터가 손실되었다는 것을 알았을 때 n번째로 돌아가서 다시 n번째 부터 데이터를 보내는 것
: 재전송 수신까지 시간이 오래 걸림

3) Selective repeat
: 손실된 n번째 데이터만 재전송함
: 재전송 수신까지 시간이 덜 걸림

5. FEC - reack
송신측이 보낸 데이터가 잘못됐을 경우 (수신은 됐지만 데이터가 이상함) 수신측이 Coding theory(자가 치유) 하는 기법
송신측이 redundant data(뻥튀기)해서 보내면 수신측이 재전송을 받지 않고 스스로 오류를 정정할 수 있음
- real-time traffic에 유리함
'네트워크' 카테고리의 다른 글
[네트워크] Application layer 1 (Http, Cookies, Web Caching, FTP, SMTP, DNS) (0) | 2022.06.10 |
---|---|
[네트워크] L4 Transport Layer (0) | 2022.06.07 |
[네트워크] Protocol Function 2 (0) | 2022.06.03 |
[네트워크] Protocol의 뜻, 구조, 모델 (0) | 2022.05.17 |
인터넷의 개념과 인터넷 구성 (0) | 2022.04.06 |