Tcp/Ip协议族简单解读及网络数据包/报/帧数据格式及封装及解包;

简介: http://www.creseek.cn/products-install/install_on_bsd_linux/ 中文检索 离线cloudera ecosystem components; http://archive-primary.

http://www.creseek.cn/products-install/install_on_bsd_linux/ 中文检索

离线cloudera ecosystem components;

http://archive-primary.cloudera.com/cdh4/redhat/5/x86_64/cdh/4.6.0/RPMS/x86_64/

ARP数据包

ARP应答包类似,直接飘过;

子网隐码产生于路由表?;

 1.TCP段格式

TCP three-way-handshake;

      TCP establish connection:
client: syn 100(0)此处的0表示当前数据段不携带有效负荷,因此数据字节为0,(mss maximum segment size 1460)
server: syn 200(0),ack 101=c_syn+1;
client: ack 201=s_syn+1;(syn序号在网络通讯中用作临时地址,每发一个数据字节syn序号要加1,因此在接收端可以根据序号摆出数据包的顺序,检查是否存在丢包);

mss最大段尺寸,如果一个segment太大,经过ip网络层到达底层链路层封装成帧超过了最大帧size,则就会产生分片fragmentation,传输到接受端时需在ip层分片;

在建立连接的同时,双方协商了一些信息,例如双方发送序号的初始值、最大段尺寸

应用程序交给TCP协议发送的数据会暂存在TCP层的发送缓冲区中,发出数据包给对方之后,只有收到对方应答的ACK段才知道该数据包确实发到了对方,可 以从发送缓冲区中释放掉了,如果因为网络故障丢失了数据包或者丢失了对方发回的ACK段,经过等待超时后TCP协议自动将发送缓冲区中的数据包重发。


    TCP data transfer:
client: 101(20)(S response C syn),201(C response S syn);
server: 201(10),ack 121=c_101+20;
client: ack 211;

    TCP close connection:
client: fin,121(0),ack 211;
server: ack 122
server: fin,121(0),ack 122;
client: ack 122;

 Traffic/flow control

介绍UDP时我们描述了这样的问题:如果发送端发送的速度较快,接收端接收到数据后处理的速度较慢,而接收缓冲区的大小是固定的,就会丢失数据。TCP协议通过'''滑动窗口(Sliding Window)'''机制解决这一问题

Socket Programming;

热身概念:

在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。

TCP/IP协议最早在BSD UNIX上实现,为TCP/IP协议设计的应用层编程接口称为socket API

在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接;

Network byte order:

 单线程大规模并发网络程序linux 2.5.44>>内核可选IO机制kqueue/epoll/select;

时监听多个阻塞的文件描述符(多网络连接),

哪个有数据到达就处理哪个,这样,不需要fork和多进程就可以实现并发服务的server;

Network Programming;

UDP不需要维护连接,程序逻辑简单

UDP协议是不可靠的,实际上有很多保证通讯可靠性的机制需要在应用层实现

UNIX Domain Socket(IPC internet process connections)与网络socket编程;

RS485单片机;

ZigBee无线通讯协议;

uCOS-II,vXworks嵌入式系统;

tornado-Web 服务器;

 

  

目录
相关文章
|
1月前
|
移动开发 网络协议 安全
网络面试题:什么是 TCP/IP?
网络面试题:什么是 TCP/IP?
43 0
网络面试题:什么是 TCP/IP?
|
1月前
|
监控 负载均衡 网络协议
TCP重传与超时机制:解锁网络性能之秘
TCP重传与超时机制:解锁网络性能之秘
67 0
|
17小时前
|
网络协议 网络架构
TCP IP协议簇:网络通信的基石
【4月更文挑战第20天】
14 6
|
2天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
7天前
|
安全 网络安全 网络虚拟化
如何保护IP在线隐私,提高网络安全?
如何保护IP在线隐私,提高网络安全?
|
8天前
|
缓存 安全 网络协议
代理ip会不会影响网络速度和稳定性
代理ip会不会影响网络速度和稳定性
|
9天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
18天前
|
网络协议 安全 网络性能优化
|
27天前
|
缓存 网络协议 数据库连接
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
【底层服务/编程功底系列】「网络通信体系」深入探索和分析TCP协议的运输连接管理的核心原理和技术要点
23 0
|
1月前
|
网络协议 算法 Linux
探索TCP状态机之旅:发现网络连接的生命周期与神秘魅力
探索TCP状态机之旅:发现网络连接的生命周期与神秘魅力
69 0