1. 순서 제어가 필요한 곳 : 통신,제어 등
ㅇ [통신 : 데이터 스트림의 제어]
- 순서번호 필요 이유
. 순서 역전 방지
.. 회선교환과 같이 고정적(물리적) 회선을 사용하는 경우, 연속되는 전송 데이터의
도달 순서가 역전되는 일은 없으나,
.. 패킷교환의 데이타그램 전송의 경우, 패킷의 전송 루트가 일정하지 않으므로,
도달 순서가 역전되는 일이 다반사임. 따라서,
.. 이들 패킷에 순서번호를 부여, 이 순서대로 패킷의 순서화 필요 => 例) TCP 헤더
. 중복 패킷(Duplicate Data Packet) 발생 방지
- 순서번호 부여 방식
. `0` 또는 `랜덤한 값` 부터 최대값
.. 통상, 최대값 이후에는 다시 `0`부터 시작됨
ㅇ [통신 : 데이터 링크의 제어]
- 각 단말에게 접근 권한을 순서있게 주는, 중앙집중 제어방식
. 例) 라운드로빈, 폴링 등
ㅇ [제어 : 시스템(장치 등)의 제어] 시퀸스 제어 (Sequence Control,Sequential Control)
- 미리 정해진 순서/논리에 따라 일련의 제어 동작을 차례대로 행하는 것
. 例) 엘리베이터, 커피 자판기 등 (주로, 스위치 회로에 의해 구현)
ㅇ [컴퓨터 프로그램] ☞ 프로그램 제어 참조
- 프로그램 실행 흐름의 순서를 제어하는(바꾸는) 것
2. [무선LAN] 802.11 MAC 프레임에서 순서제어 필드
ㅇ 순서번호 (12 비트)
- 매 MSDU,MMPDU 마다 순서번호 붙여짐
. 순서번호 생성은 단일 Modulo - 4096 카운터를 주로 사용
- 만일, 조각화되면 조각화된 모든 프레임에는, 동일 순서번호 붙여짐
ㅇ 조각번호 (4 비트)
- 조각화된 프레임 마다 0 부터 순서있게 번호 붙여짐
※ 제어프레임에는 포함 안되는 필드임
- 즉, 데이터 프레임,관리 프레임 만 순서제어 필드가 있음
3. [TCP/IP] TCP 순서번호 (TCP Sequence Number)
ㅇ TCP는 상위 어플리케이션과의 데이터를 주고 받을때 바이트 스트림으로 간주함
- 각 데이터 간의 구분을 의미적으로 구분하지 않고,
- 단순히 바이트들의 연속적인 흐름으로 보고,
- 이들을 묶어서, 세그먼트화하여 전송
ㅇ 따라서, 전송 과정에, 각 바이트별로 순서를 알 수 있도록 순서번호를 할당하고, (32 비트)
- 이를 상대측과의 TCP 연결설정 및 데이터를 추적(흐름제어 등) 하는데에 활용함
* ☞ TCP 연결설정, 초기순서번호(ISN) 참조