网络编程实践陈硕笔记零

1、理查德森的unix网络编程有两样不足:一消息格式处理,特别是非阻塞IO上处理TCP分包问题;二是并发模型稍显陈旧,传统高并发采用事件驱动加非阻塞IO方式。

2、程序员面对的网络术语

Ethernet        frame(帧)

IP                  packet(分组)

TCP              segment(分节)

Application    message(消息)

3、TCP协议栈开销不大,在千兆以太网(1Gbit/s=120MB/s)的带宽中,TCP的有效带宽118MB/s(112MiB/s)(dd命令测试)

本机测试:

网络编程实践陈硕笔记零_第1张图片

4、课程安排,讲解网络编程的例子

a、non-concurrent exapmples  基本的非并行阻塞式网络编程

TTCP

Round-trip  (clockerror between two hosts)UDP

NetCat

slow source 慢发,从应用层模拟网速慢的情景,特别在非阻塞时能否应对接受慢

b、concurrent examples  非阻塞式的并行网络编程

SOCKS proxy server (relay two TCP connections)request-response

Sudoku solver

Simple memecached

Broadcasting to multiple TCP peers (how to deal with slow receiver?)

c、Data processing with multiple machines 使用多台机器并行处理数据

(现在流行使用hadoop、Spark线程分布式计算框架来做)

Parallel N-queues 例子经典的N皇后问题

Median of numbers across machines 多机求解中值

frequent queries 多级找出最频繁的问题

Distributed sorting 分布式排序

d、advanced topics 高级话题

RPC

load balancing 

capacity of a serving system  (QPS)

Fight for latency 延迟时间











你可能感兴趣的:(网络编程)