网络编程学习记录-1
本系列学习笔记记录自己在学习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相关推荐
- Unix网络编程 学习记录01
写在前面 秋招面试微信折戟,决定好好折腾一下c++和网络,武装一下自己的技术栈,先从最基本的网咯编程开始.<UNIX网络编程 卷1>有不少实践的机会,于是先从这本书下手. 能坚持多久是多久 ...
- C++网络编程学习:服务端多线程分离业务处理高负载
网络编程学习记录 使用的语言为C/C++ 源码支持的平台为:Windows / Linux 笔记一:建立基础TCP服务端/客户端 点我跳转 笔记二:网络数据报文的收发 点我跳转 笔记三:升级为se ...
- C++网络编程学习:网络数据报文的收发
网络编程学习记录 使用的语言为C/C++ 源码支持的平台为:Windows 笔记一:建立基础TCP服务端/客户端 点我跳转 笔记二:网络数据报文的收发 点我跳转 笔记三:升级为select网络模型 ...
- 网络编程学习(11)/ FTP项目(5) ——文件上传和上传断点续存功能
网络编程学习(11)/ FTP项目(5) --文件上传和上传断点续存功能 `服务端 lib 文件夹下的 main.py 状态码的变化` 文件上传功能 `服务端 lib 文件夹下的 main.py` ` ...
- 网络编程学习(10)/ FTP项目(4) ——文件下载和下载断点续存功能
网络编程学习(10)/ FTP项目(4) --文件下载和下载断点续存功能 服务端 `lib 文件夹下 main.py` 客户端 `client文件夹下 FTPClient.py 代码 interact ...
- Python神经网络编程学习记录(一)
Python神经网络编程学习记录(一) 总结:共三章.两个附录.第1章介绍了神经网络中所用到的数学思想.第2章介绍使用Python实现神经网络,识别手写数字,并测试神经网络的性能.第3章带领读者进一步 ...
- 谈一谈网络编程学习经验(06-08更新)
谈一谈网络编程学习经验 陈硕 giantchen@gmail.com blog.csdn.net/Solstice 2011-06-08 PDF 版下载:https://github.com/down ...
- linux 网络编程学习
linux 网络编程学习 Linux网络编程学习路线 - CTHON - 博客园 (cnblogs.com)
- java 网络编程学习笔记
java 网络编程学习笔记 C/S模式:客户端和服务器 客户端创建流程 1 1.建立Socket端点 2 3 Socket s = new Socket(绑定地址, 绑定端口); 2.确认源数据方式和 ...
最新文章
- Oracle 9i/10g/11g数据库升级路线图总览
- PyQt5 图形界面-实现按钮监听事件
- 【数据竞赛】可能是全网特征工程实操最通透的...
- NYOJ【士兵杀敌(二)】
- mac自带邮箱导出邮件_如何将电子邮件从Mac Mail导出到Notes应用程序
- UVA-11988 悲剧文本-静态链表
- centos 卸载ffmpeg_Linux下ffmpeg的完整安装
- java 插件开发 互相依赖_java – Eclipse插件开发:有没有办法控制有关我的插件缺少依赖项的安装程序消息?...
- int定义源码 python_python学习(第一章)
- Shiro并发登录人数控制遇到的问题和解决
- 西南科技大学计算机专业宿舍条件怎么样,西南科技大学宿舍条件,宿舍环境图片(10篇)...
- 将一个javaBean中非空的属性合并到另一个javaBean中
- 100多套毕业论文答辩PPT模板百度网盘链接
- nginx小技巧-动态域名(微信,小程序80端口)
- 电脑系统坏了怎么修复
- 所谓的不撞南墙不回头
- ubuntu使用certbot给nginx添加ssl证书
- 机器学习 - 统计学中的均值、方差、标准差
- 电影主题网站设计——仿360影视网站(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设
- android 双导航组件,高级功能-导航组件-开发指南-Android 导航SDK | 高德地图API
热门文章
- 数字电路与微型计算机原理,电子科技大学1999年考研真题-微机原理与数字电路...
- linux 在文件中增加空行,linux – 在不同组的行之间添加空行
- mysql的max case_MySQL -- 行转列 -- GROUP_CONCAT -- MAX(CASE WHEN THEN)
- The requested profile “pom.xml“ could not be activated because it does not e
- 经纬度,墨卡托等坐标转换
- JTS(Geometry)工具类
- Invalid bound statement (not found)错误的可能原因分析
- 三种菜单控件的兼容性问题处理集锦
- mysql审计插件安装_MySQL审计插件安装使用说明文档--升级版
- 什么是TensorBoard?