本系列学习笔记记录自己在学习Unix网络编程方面的点滴。

1 协议:

IPv4, IPv6,

TCP:可靠传输。建立连接时,三路握手原理,发送SYN分节;结束时,某个应用进程首先调用close,该端的TCP发送一个FIN分节,表示数据发送完毕,每个方向均需要一个FIN和ACK确认结束。TCP选项:1)MSS,最大分节大小;2)窗口规模选项;3)时间戳选项。 TIME_WAIT状态理解???

UDP:不可靠传输

SCTP(stream control transmission protocol),是一个全双工关联的面向连接的协议。SCTP是多宿的,每个关联的两端均涉及一组IP地址和一个端口号。建立连接的四路握手原理,握手过程中包括验证信息、初始序列号、以及cookie信息。

ICMP(Internet Control Message Protocol),处理在路由器和主机之间流通的错误和控制消息。这些消息通常由TCP/IP网络支持软件本身(而不是用户进程)产生和处理。

IGMP用于多播

ARP(Address Resolution Protocol),把一个IPv4地址映射成一个硬件地址(如以太网地址).ARP通常用于如以太网、令牌环网和FDDI等广播网络,点对点网络并不需要

RARP:硬件地址映射成一个IPv4地址

ICMPv6, BPF、DLPI

2 端口号:

1)众所周知的端口号:1-1023,;2)IANA注册的端口:1024-49151;3)IANA动态和私用端口:49152-65535

套接字对:source IP(s), source port, dest IP(s), des port

转载于:https://www.cnblogs.com/YukiJohnson/archive/2012/10/14/2723341.html

网络编程学习记录-1相关推荐

  1. Unix网络编程 学习记录01

    写在前面 秋招面试微信折戟,决定好好折腾一下c++和网络,武装一下自己的技术栈,先从最基本的网咯编程开始.<UNIX网络编程 卷1>有不少实践的机会,于是先从这本书下手. 能坚持多久是多久 ...

  2. C++网络编程学习:服务端多线程分离业务处理高负载

    网络编程学习记录 使用的语言为C/C++ 源码支持的平台为:Windows / Linux 笔记一:建立基础TCP服务端/客户端  点我跳转 笔记二:网络数据报文的收发  点我跳转 笔记三:升级为se ...

  3. C++网络编程学习:网络数据报文的收发

    网络编程学习记录 使用的语言为C/C++ 源码支持的平台为:Windows 笔记一:建立基础TCP服务端/客户端  点我跳转 笔记二:网络数据报文的收发  点我跳转 笔记三:升级为select网络模型 ...

  4. 网络编程学习(11)/ FTP项目(5) ——文件上传和上传断点续存功能

    网络编程学习(11)/ FTP项目(5) --文件上传和上传断点续存功能 `服务端 lib 文件夹下的 main.py 状态码的变化` 文件上传功能 `服务端 lib 文件夹下的 main.py` ` ...

  5. 网络编程学习(10)/ FTP项目(4) ——文件下载和下载断点续存功能

    网络编程学习(10)/ FTP项目(4) --文件下载和下载断点续存功能 服务端 `lib 文件夹下 main.py` 客户端 `client文件夹下 FTPClient.py 代码 interact ...

  6. Python神经网络编程学习记录(一)

    Python神经网络编程学习记录(一) 总结:共三章.两个附录.第1章介绍了神经网络中所用到的数学思想.第2章介绍使用Python实现神经网络,识别手写数字,并测试神经网络的性能.第3章带领读者进一步 ...

  7. 谈一谈网络编程学习经验(06-08更新)

    谈一谈网络编程学习经验 陈硕 giantchen@gmail.com blog.csdn.net/Solstice 2011-06-08 PDF 版下载:https://github.com/down ...

  8. linux 网络编程学习

    linux 网络编程学习  Linux网络编程学习路线 - CTHON - 博客园 (cnblogs.com)

  9. java 网络编程学习笔记

    java 网络编程学习笔记 C/S模式:客户端和服务器 客户端创建流程 1 1.建立Socket端点 2 3 Socket s = new Socket(绑定地址, 绑定端口); 2.确认源数据方式和 ...

最新文章

  1. Oracle 9i/10g/11g数据库升级路线图总览
  2. PyQt5 图形界面-实现按钮监听事件
  3. 【数据竞赛】可能是全网特征工程实操最通透的...
  4. NYOJ【士兵杀敌(二)】
  5. mac自带邮箱导出邮件_如何将电子邮件从Mac Mail导出到Notes应用程序
  6. UVA-11988 悲剧文本-静态链表
  7. centos 卸载ffmpeg_Linux下ffmpeg的完整安装
  8. java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...
  9. int定义源码 python_python学习(第一章)
  10. Shiro并发登录人数控制遇到的问题和解决
  11. 西南科技大学计算机专业宿舍条件怎么样,西南科技大学宿舍条件,宿舍环境图片(10篇)...
  12. 将一个javaBean中非空的属性合并到另一个javaBean中
  13. 100多套毕业论文答辩PPT模板百度网盘链接
  14. nginx小技巧-动态域名(微信,小程序80端口)
  15. 电脑系统坏了怎么修复
  16. 所谓的不撞南墙不回头
  17. ubuntu使用certbot给nginx添加ssl证书
  18. 机器学习 - 统计学中的均值、方差、标准差
  19. 电影主题网站设计——仿360影视网站(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设
  20. android 双导航组件,高级功能-导航组件-开发指南-Android 导航SDK | 高德地图API

热门文章

  1. 数字电路与微型计算机原理,电子科技大学1999年考研真题-微机原理与数字电路...
  2. linux 在文件中增加空行,linux – 在不同组的行之间添加空行
  3. mysql的max case_MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)
  4. The requested profile “pom.xml“ could not be activated because it does not e
  5. 经纬度,墨卡托等坐标转换
  6. JTS(Geometry)工具类
  7. Invalid bound statement (not found)错误的可能原因分析
  8. 三种菜单控件的兼容性问题处理集锦
  9. mysql审计插件安装_MySQL审计插件安装使用说明文档--升级版
  10. 什么是TensorBoard?